2017-01-14 2 views
0

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

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

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

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

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

+0

Проблема в том, что все может быть подделано, включая IP-адреса. Вы можете запустить некоторый javascript в браузере, чтобы попытаться обнаружить браузер вместо того, чтобы полагаться на пользовательского агента, но это может быть подделано. Мой вопрос к вам: что вы на самом деле пытаетесь достичь? Почему вы фильтруете на основе браузера? –

+0

@RogerCracel Я просто хочу избежать всех дерьмов (пауков, роботов, сканеров и т. Д.) И сосредоточиться только на реальных пользователях, использующих Firefox. Я знаю, что все может быть подделано. Но я ищу лучший способ узнать, не имеет значения, есть ли в конце какой-то пользователь, который сделал фальшивку. Важно отфильтровать максимум и сделать эту задачу трудной. – candlejack

ответ

1

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

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

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

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

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

+1

На данный момент я думаю, что это лучший способ – candlejack