Есть ли способ заблокировать автономные браузеры (например, Teleport Pro, Webzip и т. Д.), Которые отображаются в журналах как «Mozilla»?
Пример: Webzip отображается в журналах моего сайта как «Mozilla / 4.0 (совместимый; MSIE 8.0; Win32)»
Teleport Pro отображается в журналах моего сайта как «Mozilla / 4.0 (совместимый; MSIE 7.0; Windows NT)»
Я провел несколько тестов с использованием файла .htaccess, но все они закончились тем, что мой браузер был заблокирован (Mozilla и Chrome), и, конечно же, я не хочу блокировать обычных посетителей, а только ограничители пропускной способности (которые также потребляют много ЦП / ОЗУ с их запросы), плюс похоже, что эти автономные браузеры даже игнорируют файл robots.txt. Кто-нибудь знает способ их идентифицировать и заблокировать? Если можно, приведите примеры.
Короткий ответ: нет
Длинный ответ: ...
Большинство "автономных браузеров" / парсеров просто загружают необработанный HTML / JS / CSS для последующей обработки браузером. Они, если их строки User-Agent выглядят как Законные «Интернет-браузеры», это все, что вам нужно, и, следовательно, не можете их заблокировать.
Если они должны были выполнить javascript в своем цикле (полезно для сайтов, которые используют javascript для загрузки частей страницы и т. Д.), Вы можете протестировать их JavaScript API, чтобы увидеть, какие функции у них есть, и настроить их таким образом. Однако это в значительной степени бессмысленно, поскольку они могут использовать такую систему, как WebKit которые также используют другие легальные браузеры.
Некоторые парсеры могут работать с файлом Robots.txt, однако они, скорее всего, будут парсерами, такими как Google Search / Cache, а не «автономными браузерами».
Последний метод - использовать аутентификацию, за которой скрываются загрузки. Это действует до тех пор, пока пользователь автономного парсера не предоставляет ему сеанс с аутентификацией.
Надеюсь, это поможет :)
На самом деле у меня нет хорошего ответа, только несколько идей. Но это интересный вопрос. Я не думаю, что ответ прост, за исключением случаев, когда кто-то еще вложил массу усилий в написание программы для этого. Если они не хотят говорить вам, что они роботы, им и не нужно. Вам придется использовать какие-то уловки, чтобы проверить, есть ли они.
Может быть, вы могли бы разместить невидимую ссылку вверху страницы, по которой человек не сможет перейти, а затем заблокировать всех, кто перейдет по ней.
Под невидимым я подразумеваю поместить его в html-комментарий. Я недостаточно разбираюсь в офлайн-браузерах, чтобы знать, достаточно ли они умен, чтобы не переходить по ссылкам в комментариях HTML.
Любой, кто переходит по новой ссылке ровно каждые x секунд, также является роботом. Заблокируйте их.
Вроде того.
Если вам нужно защитить свои большие загрузки, лучший способ справиться с этим - оставить их после входа в систему. Как вы выяснили, вмешательство в блокировку через htaccess или роботов против пользовательского агента может привести к блокировке легитимного трафика.