custom - php curl default user agent




Пользовательский агент CURL (3)

Итак, как я могу проверить с помощью codeigniter, если клиент завиток, а затем вернуть что-то другое для него?


cURL означает: - Клиентская библиотека URL-адресов, и весь ее смысл состоит в том, чтобы делать запросы, идентичные тем, что сделает клиент.

Единственное, что вы можете сделать, это обнаружить информацию, которая является частью запроса, такую ​​как IP-адрес, заголовки HTTP-запросов, cookie-файлы cookie cookie, URL-адрес (путь / страница) и любые данные post / get. Если человек, использующий завиток для выполнения запроса, выполняет его с ожидаемого IP-адреса и подает любые ожидаемые значения заголовка / cookie / токена / URL-адреса / столбца / получателя, то вы не сможете отличить запрос зависания от браузера, делающего запрос.


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

В противном случае вы можете сделать это:

if(strtolower($this->input->server('HTTP_USER_AGENT', true)) == 'curl')
{
    // Is using cURL
}

Это произойдет только в том случае, если запрос cURL содержит curl в заголовке пользовательского агента.

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


Если вы хотите обнаружить ботов, вы не можете полагаться на пользовательский агент. Лучшие практики:

  1. Проверьте, что ваш посетитель запускает js (также не все пользователи-пользователи).
  2. Проверьте, что ваш посетитель загружает дополнительные файлы, связанные с веб-страницей (css, изображения и т. Д.).
  3. Проверьте таймауты посетителей. Люди обычно не загружают 10 страниц в секунду.




user-agent