Назад | Перейти на главную страницу

Использование порта 80 для веб-сервера добавляет странную строку запроса

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

Строка запроса выглядит так: http://www.site.com/some/url/script.php?COLLCC=2749699728&

В моем коде нет ничего, что могло бы вызвать это, тем более что это происходит только на порту 80 и независимо от того, какой веб-сервер я использую (Apache, Nginx и т. Д.). Кто-нибудь знает, что может быть причиной этого?

Когда я делаю print_r($_SERVER), Я получаю это:

[argv] => Array
    (
        [0] => COLLCC=2693200777&
    )

[argc] => 1

Я использую 64-разрядную версию CentOS 6 с Nginx + PHP-CGI

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

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

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

Попробуйте получить доступ к веб-серверу с того же хоста, чтобы убедиться, что это проблема восходящего потока. Вы можете использовать текстовый браузер, например lynx или w3m, или туннель в использовании ssh так вы обходите сеть.

Насколько мне известно, параметр COLLCC = xxxxx добавляется в некоторых случаях массовых DDOS-атак на мой веб-сервер со стороны моего хостера.

Это всего лишь защита. Я признаю, что это некрасиво ... Но это необходимо для защиты моего веб-сайта, когда множество ботнетов нацелены на мой сервер.

Надеюсь, я кому-нибудь помогу. И, пожалуйста, извините за мой плохой английский, потому что я француз.

Может быть, правило mod_rewrite указано только для порта 80 ... Проверьте свой httpd.conf и / или любые файлы .htaccess?