имя хоста сайта и docroot - PullRequest
       25

имя хоста сайта и docroot

1 голос
/ 15 января 2010

Есть ли в PHP способ получить имя хоста и корень документа с сервера? Я хотел бы сделать это, не сохраняя их в качестве переменных в вашем PHP-коде. Я не хочу использовать $ _SERVER, потому что я слышал, что он ненадежен и подвержен атаке. Как это можно сделать на виртуальном хосте? Существует ли надежный и безопасный метод?

Ответы [ 3 ]

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

Вы можете попробовать

$docroot = getenv("DOCUMENT_ROOT");

getenv позволяет получить доступ к переменным среды. Вы можете увидеть все доступные переменные, напечатав phpinfo. Может быть, apache_getenv также помогает.

1 голос
/ 15 января 2010

$_SERVER['DOCUMENT_ROOT'] надежен, но $_SERVER['SERVER_NAME'] - нет (см. Крис Шифлет * SERVER_NAME и HTTP_HOST ). Только если Apache UseCanonicalName включен, отображается каноническое имя.

0 голосов
/ 15 января 2010

Как вы упомянули, у вас есть доступ к: http://php.net/manual/en/reserved.variables.php Здесь есть проблема использования realpath () и $ _SERVER для получения корня документа: http://www.helicron.net/php/

Также вы можете выполнить exec ('hostname') или что-то подобное, чтобы получить имя хоста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...