为什么我不将我的PHP文件放在public_html文件夹中?

时间:2013-11-07 18:03:36

标签: php security

前几天有人批评我把我的应用程序脚本放在public_html文件夹中。在那之前,我认为755文件权限足以防止我的代码被读取而不是执行。

我不喜欢这样的想法,即现在我们的应用程序逻辑的一半是以JavaScript形式公开的,并且它们来自公共文件夹。但是PHP脚本的真正威胁是什么?

1 个答案:

答案 0 :(得分:6)

差异通常是JavaScript代码是不受信任的代码(或者至少它应该是,因为它在客户端上运行),而PHP代码通常被认为是可信代码(因为它在服务器上运行,不会被用户直接干扰)。

因此,发现PHP源代码漏洞的人通常可以获得比使用JavaScript代码漏洞的人更多的权限,因为他们可以让PHP在服务器端运行。

现在,虽然通过默默无闻的安全性不应该是您的主要保护代码的方法 - 但最好不要首先出现安全漏洞 - 通常也不是一个好主意。 更容易让攻击者找到以某种方式引入的漏洞。将事情从非脚本服务根目录中删除有助于防止事故发生(“哎呀,我意外地禁用了PHP,每个请求页面的人都获得了源代码”)。

此外,服务器端文件可能包括配置数据等不公开的内容 - 内部网络地址,数据库信息等等(尽管将凭证等内容与PHP代码分开也是一个好主意。孔)。