【发布时间】:2013-11-17 15:02:39
【问题描述】:
我们正在尝试保护一个大型应用程序(包括一些第三方应用程序),并且我们希望禁用任何允许程序员或潜在黑客隐藏错误的东西(这是因为我们正在使用一些监控脚本来检查真实的日志时间并识别任何安全漏洞)。
我们禁用了error_reporting、ini_set(以及其他一些功能);我们还安装了 php 扩展尖叫来禁用抑制运算符(不会向用户显示错误,但所有内容都会记录)
我们现在正在寻找一种解决方案来设置默认的 php error_handler 服务器端(而不是像我们现在那样使用 set_error_handler)?我们希望使用自定义错误处理程序(以便更好地记录错误环境),但我们不希望任何人使用 set_error_handler 函数来抑制错误。
所以基本上我们可以禁用此功能(并确保所有错误都将由默认处理程序记录)或者可能找到一个解决方案来设置此服务器端(可能是扩展或其他技巧)以获得更好的记录。
任何想法都会有帮助!
更新
我们将 Apache 与 mod_php 一起使用,因此我们不能使用 [PATH] 来禁用某个脚本的函数。改变这不是一个选择。
【问题讨论】:
-
我认为如果不使用 safe_mode,您实际上无法使第三方 PHP 代码安全。即便如此,这样做也是PIA。简而言之,任何可以控制 PHP 代码的人都可能破坏您的安全。