包含/要求非php文件

时间:2014-08-01 17:19:06

标签: php

我知道PHP的include/require语句可以通过本地路径或网址将其他.php文件附加到脚本中。

今天我尝试包含并且还要求.ddf(文本文件),并且它工作正常,没有错误或警告。然后PHP实际执行了该文件中的一些代码!

之后我进入PHP的include文档,看看是否包含非php文件是否完全支持且安全。事实证明,文档几乎没有提到这个程序(include 'file.txt'; // Works.)就是这样。

所以我问你们,包括非php文件安全吗?这也是一种不好的做法吗?

2 个答案:

答案 0 :(得分:2)

不建议在PHP脚本中包含txt文件。相反,您应该使用file_get_contents

答案 1 :(得分:2)

我只想说它完全不安全。虽然是,但只要您信任该页面,您在技术上就可以做到这一点。但是直接在浏览器中提取的页面并没有被解析为php。直接访问Web服务器中的文件的任何人,无论是猜测还是您创建了框架,或者他们只知道某些文件名,都会看到该文件的完整源代码。公开您的网站并可能发布数据库凭据等敏感信息。另一件需要考虑的事情是,人们通常不会允许将* .php文件上传到他们的网站,但只是想象你允许包含其他文件并且有人上传名为" someImage的文本文件。 JPG"在它的PHP脚本和一些愚蠢的原因,你包括它。人们现在可以在服务器上执行脚本。可能包括调用shell命令(exec)。过去常见的做法是使用* .inc文件来指定包含,但在相当长的时间内被认为是坏的。

相关问题