Один из вариантов - использование входа в систему для предотвращения просмотра данных всем миром.
Если вы не хотите, чтобы вошедшие в систему пользователи получали все данные, которые вы им предоставляете, вы можете ограничить количество запросов в минуту для пользователя, добавив задержку загрузки вашей страницы, если она была достигнута. Поскольку пользователь вошел в систему, вы можете легко отслеживать запросы на стороне сервера, даже если им удастся изменить файлы cookie / localStorage / IP / Browser и многое другое.
Вы можете использовать изображения для некоторых текстов, что заставит их использовать некоторые ресурсоемкие механики для перевода в полезную информацию.
Вы можете добавить скрытый текст, это даже предотвратит копирование / вставку пользователей (вы используете промежутки, заполненные 3-4 случайными буквами на каждые 3-4 настоящие буквы, и делаете их размер шрифта 0). Таким образом, они не видны, но все равно копируются и, скорее всего, будут взяты из сканера.
Отказать в соединении от известных подписей HTTP-заголовков сканера, хотя любой сканер может их имитировать. Greasemonkey или какое-либо расширение сценариев может даже превратить обычный браузер в поискового робота, так что это очень мало случаев.
Теперь, чтобы заставить использовать javascript
Проблема в том, что вы не можете принудительно выполнить какой-либо javascript. То, что делает javascript, видят все, у кого есть доступ к странице, поэтому, если вам нужен какой-то хеш MD5, это можно реализовать на любом языке.
В основном это невозможно, потому что краулер имеет доступ ко всему, к чему имеет доступ клиентский javascript.
Принуждение к использованию сканера с поддержкой javascript можно обойти, и даже если нет, с вычислительной мощностью, доступной в настоящее время любому, очень легко запустить экземпляр phantomJS ... И, как я сказал выше, любой, кто имеет небольшое знание javascript, может просто автоматизировать клики на вашем веб-сайте с помощью их браузера, что сделает все необнаружимым.
То, что должно быть сделано
Единственный надежный способ помешать поисковым роботам похитить ваши данные и предотвратить любую автоматизацию - это запросить то, что может сделать только человек. На ум приходит Captcha.
Подумайте о своих реальных пользователях
Первое, что вы должны иметь в виду, это то, что ваш веб-сайт начинает раздражать обычных пользователей, они больше не вернутся. Необходимость вводить 8-значный код в каждом запросе страницы только потому, что МОЖЕТ быть кто-то, кто захочет накачать данные, станет слишком утомительной для кого-либо. Кроме того, блокировка неизвестных агентов браузера может помешать законным пользователям получить доступ к вашему сайту из-за X или Y причин, по которым они используют странный браузер.
Воздействие на ваших законных пользователей и время, которое вы потратите на борьбу со сканерами, могут быть слишком большими, чтобы просто допустить, что какое-то сканирование произойдет. Поэтому лучше всего переписать ваши TOS, чтобы явно запретить сканирование любого вида, регистрировать каждый доступ к http для каждого пользователя и принимать меры, когда это необходимо.
Отказ от ответственности: я отбрасываю более сотни веб-сайтов ежемесячно, следуя внешним ссылкам, в сумме около 3000 доменов. На момент публикации никто из них не сопротивляется, хотя они используют один или несколько методов из вышеперечисленных. Когда обнаруживается ошибка утилизации, ее исправление не занимает много времени ...
Единственное, что нужно - это выполнять сканирование с уважением, а не чрезмерно сканировать и не делать слишком много запросов за короткий промежуток времени. Просто сделав это, вы обойдете самые популярные анти-краулеры.
person
Salketer
schedule
28.07.2017