你在这里

防止不可信的PHP执行

原文链接:http://drupal.org/node/615888

 

重要的是要了解一个Drupal用户执行PHP的影响。

这通常发生时,用户可以输入到一个窗体的PHP代码,提交表格,并在服务器上的PHP运行。

请注意,保安队安全政策确定的权限,可以让整个网站收购。“管理用户”的权限将进一步讨论下来的页面。

损害

PHP可以用来修改Drupal站点。当它在服务器上执行,PHP作为Web服务器运行相同的用户运行。此用户(通常WWW数据)将能够在网站的“文件”目录删除或修改文件。

PHP也可以用来修改Drupal数据库本身。这种方式可以删除表,节点的内容可以修改,可以改变用户的详细信息。有一百万的方式,采取现场控制,当PHP可以执行。

甚至有许多安全的服务器,它可能会扫描其他文件服务器。如果你可以看到另一个Drupal安装的settings.php文件,那么你将能够访问它的数据库,以及。(见配置Apache和PHP ...如何使用open_basedir的指令锁定下来的建议。)

一个频繁的黑客的目标是使用你的服务器发送垃圾邮件。进入到PHP将允许用户随意发送电子邮件。

可以执行方式的PHP

模块提供了执行PHP的能力。和这些模块应该总是让你值得信赖的角色(甚至只是为了用户/ 1)限制访问。如果你发现一个模块,它允许PHP没有适当的警告和控制,你应该避免使用此模块,或考虑在此模块中创建一个错误报告。

共同提供的PHP模块:

  • Drupal核心的船舶与P​​HP的过滤器模块。提供此过滤器将允许的PHP注入到一个节点的身体。查看节点时,将执行的PHP。
  • devel模块提供了一个执行PHP代码块
  • 不同的CCK字段和选项
  • 各方面的意见选项,如参数处理
  • Webform的

访问到PHP

请注意以下方式,用户可能会获得PHP执行。

  1. 最明显的是,用户/ 1可以安装PHP模块,然后执行PHP -权限不受限制。
  2. 给用户的管理权限将允许他们给自己安装模块的权限,等等。
  3. 给用户的管理用户将允许他们编辑用户/ 1,更改的电子邮件或密码,从而登录用户/ 1。

关于“管理用户”的说明

许多Drupal的实现需要允许一个用户,例如办公室管理员,能够为其他用户创建的帐户。这是不可避免的,许多真实世界的项目,也正如我们所看到的问题,它可以让这些用户成为用户/ 1。

你可能会考虑这些额外的模块来锁定您的网站,对这些漏洞:

  • 用户防护,防止删除和编辑的各个领域。
  • 妄想症主要是阻止从正在安装PHP的过滤器模块。