Как запретить сканеры, ботов, фальшивых пользователей и разрешить только определенный браузер?

Я пытаюсь сделать хороший фильтр веб-трафика, моя цель — запретить всех ботов, сканеров, пауков, ненастоящих пользователей и разрешить только определенный браузер.

Я сделал некоторые тесты на PHP, другие на JavaScript, но я не чувствую, что все сделано хорошо. Хотелось бы мнение какого-нибудь эксперта. Я думаю, что это можно сделать с помощью комбинации PHP + JavaScript + robots.txt + .htaccess.

Я знаю, что пользовательский агент можно подделать, но я хотел бы знать, есть ли лучший способ его обнаружить. Например, я хотел бы разрешить только пользователям использовать Mozilla Firefox (независимо от версии).

Все остальные браузеры должны попасть в список исключений или что-то вроде фильтра.

Как лучше всего это сделать? Короче говоря, определите браузер, чтобы разрешить только Firefox и избежать всех поддельных пользователей, роботов, пауков, поисковых роботов и прочей чепухи.


person candlejack    schedule 14.01.2017    source источник
comment
Проблема в том, что подделать можно что угодно, в том числе и IP-адреса. Вы можете запустить некоторый javascript в браузере, чтобы попытаться обнаружить браузер, вместо того, чтобы полагаться на пользовательский агент, но это также может быть подделано. Мой вопрос к вам: чего вы на самом деле пытаетесь достичь? Почему вы фильтруете на основе браузера?   -  person Roger Cracel    schedule 14.01.2017
comment
@RogerCracel Я просто хочу избежать всего этого дерьма (пауков, роботов, сканеров и т. д.) и сосредоточиться только на реальных пользователях, использующих Firefox. Я знаю, что все можно подделать. Но я ищу лучший способ узнать, не важно, если в конце есть какой-то пользователь, который сделал подделку. Важно отфильтровать максимум и усложнить задачу.   -  person candlejack    schedule 14.01.2017


Ответы (1)


Хорошо, тогда позвольте мне попытаться представить некоторые идеи здесь.

Вы должны использовать комбинацию методов:

  1. Роботы не дадут законным краулерам проникнуть внутрь;
  2. Используйте некоторую проверку Javascript на стороне клиента, чтобы не допустить проникновения большинства поисковых роботов (у них редко будет возможность запускать Javascript);
  3. На стороне сервера используйте службу пользовательского агента, чтобы идентифицировать и фильтровать пользовательские агенты как хорошо;
  4. Отслеживание IP-адресов, чтобы можно было делать разовые баны «известных нарушителей»;

Чтобы немного расширить # 2, ваша целевая страница может использовать JavaScript для удаления файла cookie с «известным» значением, которое может быть сопоставлено обратно с создателем. Одним из примеров является использование пользовательского агента и IP-адреса и вычисление хэша. Это все еще может быть подделано, но большинство правонарушителей просто решат игнорировать ваш сайт, а не прилагать усилия для обхода ваших мер защиты.

Надеюсь это поможет.

person Roger Cracel    schedule 14.01.2017
comment
На данный момент я думаю, что это лучший способ - person candlejack; 14.01.2017