在服务器上存储文件的位置,以便无法通过浏览器访问它们?

时间:2015-07-01 17:40:01

标签: php server

在阅读有关在允许用户将文件上传到服务器时保持安全性的问题和答案时,一些答案表示将文件存储在浏览器无法访问的位置,并且“在文档根目录上方”。

如果我的网站在'var / www /'中运行,例如:

无功/网络/ mysite的/ index.html中

“文档根目录之上”是否意味着在MySite文件夹上方,但仍然在var / www文件夹中,或者它是否完全在var / www的单独位置,完全在服务器主机的文件系统上的其他位置?< / p>

另外,为什么从浏览器创建一个无法访问的文件会使其更安全?感谢。

1 个答案:

答案 0 :(得分:4)

我一般不担心将某些文件移到www文件夹之外,因为如果您的www文件夹容易受到攻击(无论是通过apache还是其他方式),您还会遇到许多其他问题,并且无论如何都可以访问这些文件。将它移到www文件夹之外也会对应用程序的可移植性产生影响,因为大多数托管公司都不允许在用户www文件夹之外进行访问。

建议在apache中启用Override并在您想要限制的任何文件夹中放置包含以下内容的.htaccess文件:

Order deny,allow
Deny from all

这样您的应用程序就是自包含且可移植的。

Apache2.4和PHP5.5进一步强化了涉及在操作系统级别访问和执行不需要的代码的问题,因此我还建议尽可能使用这些软件包的最新版本。