目录的PHP安全性

目录的PHP安全性,php,security,Php,Security,我想知道我的方法是否既安全又是实现文件引用的好方法。我理解您可以使用: include $_SERVER['DOCUMENT_ROOT'] . "includes/config.php" 引用PHP脚本中的文件。但是,我假设如果我在庄园中使用相同的调用,那么它将是一个安全漏洞,例如: <img src="<?php echo $_SERVER['DOCUMENT_ROOT'] ?>/images/image.jpg" /> 通过这种方式,我总是知道我需要从根目录引用,

我想知道我的方法是否既安全又是实现文件引用的好方法。我理解您可以使用:

include $_SERVER['DOCUMENT_ROOT'] . "includes/config.php"
引用PHP脚本中的文件。但是,我假设如果我在庄园中使用相同的调用,那么它将是一个安全漏洞,例如:

<img src="<?php echo $_SERVER['DOCUMENT_ROOT'] ?>/images/image.jpg" />
通过这种方式,我总是知道我需要从根目录引用,前端用户将无法看到我的文件结构。这是一个好方法吗

提前谢谢你

我假设,如果我在这样的庄园中使用相同的调用,这将是一个安全漏洞:

<img src="<?php echo $_SERVER['DOCUMENT_ROOT'] ?>/images/image.jpg" />
/images/image.jpg/>
这不是一个安全漏洞(*),它只是不起作用。
是客户端访问的外部URL地址;
文档\u ROOT
是服务器脚本使用的内部文件地址

文档根是与外部根url(
/
)对应的文件系统路径。因此,如果您的文档根是
/home/me/www-data
,则提供给浏览器的图像将是
src=“/home/me/www-data/images/image.jpg”“
,浏览器将向服务器请求URL
/home/me/www-data/images/image.jpg
,服务器将在文档根目录中查找该文件:
/home/me/www-data/home/me/www-data/images/image.jpg
。由于该文件路径可能不存在,服务器会用
404
进行回复,您会得到一个损坏的图像


(*:嗯……除非您的文档根目录碰巧有HTML特殊字符,如
您在这里缺少一些基本字符,请查看我对这个类似问题的回答:我很抱歉,但我不理解您对另一篇文章的回答。我实现了这些更改,它适用于客户端的图像和Includei你是否暗示存在安全问题?
<img src="<?php echo $_SERVER['DOCUMENT_ROOT'] ?>/images/image.jpg" />