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

标签 php security

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

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

最佳答案

区别通常是 JavaScript 代码是不可信代码(或者至少应该是,因为它在客户端上运行),而 PHP 代码通常被认为是可信代码(因为它在服务器上运行,用户无法直接干预)。

因此,如果发现 PHP 源代码中的漏洞的人能够利用它,那么他们通常可以获得比发现 JavaScript 代码中的漏洞的人更大的权限,因为他们可以让 PHP 在服务器端运行某些东西。

现在,虽然通过模糊实现安全性不应该是您保护代码的主要方法 - 首先最好不要有安全漏洞 - 通常也不是一个好主意更容易攻击者找到以某种方式引入的漏洞。将内容排除在非脚本服务 root 之外有助于防止发生意外(“哎呀,我不小心禁用了 PHP,每个请求页面的人都会获得源代码”)。

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

关于php - 为什么我不应该将我的 PHP 文件放在 public_html 文件夹中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19843345/

相关文章:

security - 保护 dll 文件的最佳方法是什么

security - 程序可以直接分配内存吗?

php - Chrome 将文件附件误解为文档

PHP mysql 插入日期格式

javascript - 检索数据时将空格应用于输入框

php - 如何将文本文件直接或通过 PHP 导入 MySQL

php - 为什么使用 $item->getText() 而不是 $item->text?

java - 从 MAC KeyChain 访问导出证书并创建 keystore 、信任库

java - 不使用 NoPadding 的 RSA 示例

AngularJS 应用程序的安全性