Есть ли способ заблокировать CURL для получения данных на моем сайте? - PullRequest
9 голосов
/ 13 ноября 2011

Я в настоящее время использую этот код для блокировки wget и libwww

Options +FollowSymlinks  
RewriteEngine On  
RewriteBase /  
SetEnvIfNoCase User-Agent "^Wget" bad_user
SetEnvIfNoCase User-Agent "^libwww-perl" bad_user
Deny from env=bad_user

есть ли один для curl?

Ответы [ 5 ]

19 голосов
/ 13 ноября 2011

Да, я уверен, что curl имеет агента пользователя по умолчанию, но это, очевидно, то, что можно изменить так же легко, как и -H 'User-Agent=Poop'

На самом деле, я думаю, что есть переключатель, специально предназначенный для настройки пользовательского агента. -A

3 голосов
/ 13 ноября 2011

curl пользовательские агенты могут быть изменены в любое время. Причиной завитка является то, что вы можете изменить практически все, что есть в вашем запросе.

Вы можете заблокировать их, но как только они поменяют агента использования, у них снова будет доступ.

Я рекомендую вам вместо этого заблокировать IP-адрес или всю подсеть.

Пример:

deny from aa.bb.cc.dd  ff.gg.hh.0/24
1 голос
/ 13 ноября 2011

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

0 голосов
/ 14 ноября 2011

Добавить капчу, если существует два запроса с одного IP-адреса?

0 голосов
/ 13 ноября 2011

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

Итак, я ненавижу это, но нет возможности заблокировать.
В конце концов, вы можете заблокировать некоторые IP-адреса, вы можете поместить несколько honeypost для обнаружения ботов, но все это можно сломать.лучше не заботиться о данных, но заботиться об услуге.
Пока ваш сервис лучший, ваш сайт будет первым.И никакие соскобы не помогут им никому не нужным, кто хочет питаться чужим трудом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...