首先,我不了解配置指令“ doc_root”和服务器变量$ _SERVER ['DOCUMENT_ROOT']之间的区别。
PHP手册中的内容如下:
您可以通过配置文件中的配置指令doc_root来设置PHP脚本文档的根目录,或者可以设置环境变量PHP_DOCUMENT_ROOT。如果设置了该属性,PHP的CGI版本将始终使用该doc_root和请求中的路径信息来构造要打开的文件名,因此您可以确保在该目录之外没有执行任何脚本(以下user_dir除外)。
我不确定,但是我认为它说,如果您将指向您的“ html_public”(或您使用的根文件夹)的指令“ doc_root”设置为,则不必担心$在哪里_SERVER ['DOCUMENT_ROOT']指向..right ??
相反呢?如果设置了$ _SERVER变量,则不必同时设置指令吗?
我知道指令优先于服务器变量,因此,仅设置指令是否足够安全?
另一方面,(顺便说一句,我为自己的无知而道歉,因为我可能正在提出“琐碎的”问题),指令“ open_basedir”看起来非常相似(对我来说,它是完全一样的)目的/目的。 PHP手册说:
将PHP可以访问的文件限制在指定的目录树中,包括文件本身。
起初,我会说:“只是将所有值设置为相同的值,不要考虑太多”,但我想尽一切努力准确地理解它们之间的区别,以便使其安全良好。 / p>
我的问题不仅涉及安全性,还涉及性能,因为我必须在.htaccess文件中设置所有变量,指令等(我无法访问php.ini,vhost和htppd.conf。文件)。