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

Ple*_*rds 3 php security

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

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

Amb*_*ber 6

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

因此,发现PHP源代码漏洞的人通常可以获得更大的权限,如果他们可以利用它而不是发现JavaScript代码漏洞的人,因为他们可以让PHP运行服务器端的东西.

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

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