PHP 5.4中通过移除safe_mode,安全在哪里?

7

我心中有一个棘手的问题:PHP 5.4已经删除了safe_mode,那么这个安全模式的移除意味着什么安全风险呢?

这是否意味着任何应用程序都可以执行任何程序?

为了防止此类暴力行为,使用了哪种技术来实现此目的?

2个回答

11

这篇文章会向你解释为什么 safe_mode(安全模式) 从来没有意义,只会给你提供一种虚假的安全感。


5
PHP开发人员在Safe Mode documentation中也提到:"PHP安全模式是试图解决共享服务器安全问题的一种尝试。在PHP层面上试图解决这个问题是架构上错误的,但由于在Web服务器和操作系统层面上的替代方案不太现实,因此很多人,特别是ISP,目前仍然使用安全模式。"他们只是试图处理应该在不同层面上处理的事情。PHP 5.4修复了这个问题,PHP 5.4现在更成熟了。 - Tadeck

3

safe_mode曾试图用错误的工具解决安全问题。由于共享Web主机经常在一台服务器上托管数千个网站,safe_mode是一个方便(但完全不合适)的方法来限制使用PHP时可能造成的损害。

这更像是一种幻觉。虽然PHP可能受到了safe_mode的保护,但其他语言(如Python和Ruby)呢?正确的方法是使用默认Linux文件权限和模块,比如suPHP,将PHP作为受限用户运行。


1
但是,如果我不给用户任何FTP权限,而是提供一个在线网站,允许他创建仅限于某些文件类型的文件呢?比如说,如果他只被允许使用带有安全模式的php,并且只能创建html、css、js和php文件呢?这有什么不安全和虚幻的地方吗? - user5147563

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接