$ _SERVER ['HTTP_HOST'] = ip, это не мой сервер - PullRequest
3 голосов
/ 15 января 2011

мой php-скрипт имеет $ _SERVER ['HTTP_HOST'] и равен ip, который не имеет ничего общего с ip моего сервера.

Кто-то получил легкое объяснение?

(я думал, что какой-то бот отправляет совершенно неправильный заголовок хоста, но я не думаю, что он может подключиться к серверу с неправильным заголовком хоста = /)

ТНХ

Ответы [ 2 ]

11 голосов
/ 15 января 2011

HTTP_HOST предоставляется клиентом в части Host: HTTP-запроса. Это может быть изменено произвольно, хотя я не могу понять, почему кто-то хотел бы. См. страницу руководства .

Вместо этого используйте $_SERVER['SERVER_NAME']. Это определяется самим сервером.

3 голосов
/ 15 января 2011

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

...