【问题标题】:Why should I not put my PHP files in the public_html folder?为什么我不应该将我的 PHP 文件放在 public_html 文件夹中?
【发布时间】:2013-11-07 18:03:36
【问题描述】:

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

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

【问题讨论】:

  • 此人是否在谈论诸如您的配置文件之类的内容?您需要将您的 php 文件放在 public 文件夹中,以使...public 可以访问它们
  • 你提到的东西在这个问题中:stackoverflow.com/questions/19371997/… :-)

标签: php security


【解决方案1】:

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

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

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

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

【讨论】:

  • 我明白你的意思。如果服务器管理员禁用 Apache 中的 PHP 模块或在此界面中出现其他错误,我的文件可能可供读取。如果我给它们设置 711 权限,我的 PHP 文件仍然可以运行吗?
  • 你给了我一些建议
  • 用户 Brandon Enriquez 在这里回答了这样一个问题:stackoverflow.com/questions/17824482/…
  • ...他说,如果您能找出用户名,即使 PHP 文件不在 public_html 文件夹中,您也可以通过使用真实的文件路径来破解这些文件。
  • @EASI 安全性不是操作系统的固有属性,而是它的使用方式。
猜你喜欢
  • 2019-06-17
  • 2020-07-07
  • 1970-01-01
  • 2013-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-21
  • 2018-06-04
相关资源
最近更新 更多