Как определить запрос curl
Есть ли способ определить в моем скрипте, идет ли запрос от обычного веб-браузера или какой-то скрипт, выполняющий curl. Я могу видеть заголовки и могу различать с "User-Agent и другими несколькими заголовками", но в curl поддельные заголовки могут быть установлены, поэтому я не могу отслеживать запрос.
Пожалуйста, предложите мне способы идентификации curl или другого подобного запроса без браузера.
3 ответов:
Единственный способ поймать большинство "автоматических" запросов-это кодировать в логике, которая обнаруживает активность, которая не может быть человеческой с помощью браузера.
Например, слишком быстрое попадание на страницы, слишком быстрое заполнение формы, наличие внешнего источника в html-файле (например, поддельный css-файл через php-файл) и проверка того, загрузил ли запрашивающий IP-адрес на предыдущем этапе вашего сайта (например, обратный медовый горшок), но вам нужно будет исключить определенные агенты IP/user из списка. заблокирован, в противном случае вы заблокируете веб-пауки google. и т.д.
Это, вероятно, единственный способ сделать это, если curl (или любой другой автоматический скрипт) подделывает свои заголовки, чтобы выглядеть как браузер.
Строго говоря, нет никакой возможности.
Хотя есть и не прямые технологии,но я бы никогда не обсуждал их публично, особенно на таких сайтах, как Stackoverflow, которые поощряют выскабливание экрана, автоматическое размещение контента и все это грязное ограбление.В некоторых случаях вы можете использовать тест капчи, чтобы отличить человека от бота.
Насколько я знаю, вы не видите разницы между "реальным" вызовом из Вашего браузера и одним из curl.
Вы можете сравнить заголовок (User-agent), но это все, что я знаю.
Comments