繁体   English   中英

doc_root与$ _SERVER ['DOCUMENT_ROOT'],最后open_basedir参加聚会

[英]doc_root vs $_SERVER['DOCUMENT_ROOT'] and finally open_basedir comes to the party

首先,我不了解配置指令“ 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']指向..右???

那相反呢? 如果设置了$ _SERVER变量,则不必同时设置指令吗?

我知道指令优先于服务器变量,因此,仅设置指令是否足够安全?

另一方面,(顺便说一句,我为自己的无知而道歉,因为我可能正在提出“琐碎的”问题),指令“ open_basedir”在目标/目的上看起来非常相似(对我来说是完全一样的) 。 PHP手册说:

将PHP可以访问的文件限制为指定的目录树,包括文件本身。

起初,我会说:“只是将所有值设置为相同的值,不要考虑太多”,但我想尽一切努力准确地理解它们之间的差异,以便使其安全良好地运行。

我的问题不仅涉及安全性,还涉及性能,因为我必须在.htaccess文件中设置所有变量,指令等(我无法访问php.ini,vhost和htppd.conf文件)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM