PHP $ _SERVER ['HTTP_HOST'] против $ _SERVER ['SERVER_NAME'], правильно ли я понимаю справочные страницы?

Я много искал, а также читал PHPДокументы $ _SERVER, Имею ли я это право в отношении того, какие скрипты PHP использовать для простых определений ссылок, используемых на моем сайте?

$_SERVER['SERVER_NAME'] основан на файле конфигурации вашего веб-сервера (в моем случае Apache2) и варьируется в зависимости от нескольких директив: (1) VirtualHost, (2) ServerName, (3) UseCanonicalName и т. д.

$_SERVER['HTTP_HOST'] основан на запросе от клиента.

Поэтому мне кажется, что правильное использование, чтобы сделать мои сценарии максимально совместимыми,$_SERVER['HTTP_HOST'], Это предположение верно?

Последующие комментарии:

Я думаю, что я стал немного параноиком после прочтения этой статьи и заметил, что некоторые люди сказали: «Они не будут доверять никому из$_SERVER вары ":

http://markjaquith.wordpress.com/2009/09/21/php-server-vars-not-safe-in-forms-or-links/

http://php.net/manual/en/reserved.variables.server.php#89567 (комментарий: Владимир Корнеа 14 марта 2009 г. 01:06)

Видимо, речь идет в основном о$_SERVER['PHP_SELF'] и почему вы не должны использовать его в атрибуте действия формы без надлежащего экранирования для предотвращения XSS-атак.

Мой вывод о моем первоначальном вопросе выше состоит в том, что это "безопасно" использовать$_SERVER['HTTP_HOST'] для всех ссылок на сайте, не беспокоясь о XSS-атаках, даже при использовании в формах.

Пожалуйста, поправьте меня, если я ошибаюсь.

Ответы на вопрос(9)

Ваш ответ на вопрос