Как заблокировать загрузку определенной страницы? - PullRequest
2 голосов
/ 19 апреля 2010

Я читал, что спаммеры могут загружать определенную страницу регистрации на моем сайте, используя curl. Есть ли способ заблокировать эту конкретную страницу от CURLed, либо через htaccess, либо другими способами?

Ответы [ 3 ]

1 голос
/ 20 апреля 2010

В CURL есть один недостаток, который вы можете использовать: он не может запускать JavaScript как браузер. Таким образом, вы можете воспользоваться этим фактом: одна первая посадка на странице регистрации, проверка кода на стороне сервера на наличие cookie-файла, если его там нет, отправка некоторого кода javascript в браузер, этот код установит cookie-файл и выполнит перенаправление / reload ... после перезагрузки серверная сторона снова проверяет наличие cookie, если браузеры обнаружат его, в случае скручивания генерация cookie и повторная загрузка / перенаправление не произойдут.

Надеюсь, у меня есть какой-то смысл, нижняя строка ... используйте JavaScript, чтобы различать curl и браузер.

1 голос
/ 19 апреля 2010

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

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

0 голосов
/ 19 апреля 2010

Как говорит Орен, спаммеры могут подделывать пользовательские агенты, поэтому вы не можете просто заблокировать строку curl user-agent. Типичным решением здесь является какая-то CATPCHA . Это часто смешанные изображения (хотя существуют невизуальные формы) сайтов (включая StackOverflow), которые вы должны транскрибировать, чтобы доказать, что вы человек.

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