前几天有人批评我把我的应用程序脚本放在public_html
文件夹中。在那之前,我认为755
文件权限足以防止我的代码被读取而不是执行。
我不喜欢现在我们的应用程序逻辑的至少一半是公开的形式,JavaScript
它们来自公共文件夹。但是 PHP 脚本的真正威胁是什么?
区别通常在于 JavaScript 代码是不受信任的代码(或者至少应该是,因为它运行在客户端上),而 PHP 代码通常被认为是受信任的代码(因为它运行在不能直接干扰的服务器上)由用户)。
因此,发现 PHP 源代码漏洞的人通常比发现 JavaScript 代码漏洞的人可以获得更大的权限,因为他们可以让 PHP 在服务器端运行某些东西。
现在,虽然通过默默无闻的安全性不应该是保护代码的主要手段——最好一开始就没有安全漏洞——让攻击者更容易找到以某种方式存在的漏洞通常也不是一个好主意。被介绍了。将事情排除在非脚本服务根目录之外有助于防止发生意外(“哎呀,我不小心禁用了 PHP,每个请求页面的人都会获得源代码”)。
此外,服务器端文件可能包含诸如不公开的配置数据之类的内容——内部网络地址、数据库信息等(尽管将凭据之类的内容与 PHP 代码分开也是一个好主意)。