【发布时间】:2012-07-01 08:04:06
【问题描述】:
在 php 脚本中使用 error_reporting(0) 是否会通过不报告错误来防止使用 SQLi 或 XSS 进行黑客攻击?
【问题讨论】:
-
绝对不能阻止 XSS,没办法 :D
标签: php security xss sql-injection
在 php 脚本中使用 error_reporting(0) 是否会通过不报告错误来防止使用 SQLi 或 XSS 进行黑客攻击?
【问题讨论】:
标签: php security xss sql-injection
使用error_reporting(0) 是非常危险的;您隐藏的警告可能会为不稳定的编码提供重要线索。同时它不会阻止 SQL 注入问题或 xss。
我的建议:始终设置error_reporting(-1) 并使用error_log 记录所有错误,或者使用set_error_handler() 编写custom error handler 来处理错误而不在页面上显示它们。在开发过程中,您也应该始终启用display_errors。
请注意,只有良好的编码实践和适当的测试才能减少黑客攻击,但完全防止黑客攻击需要更多的时间。采用防御性编程,或者请Bernstein 指导你;-)
【讨论】:
通过执行 error_reporting(0),您只会向用户隐藏错误。在某些情况下,减少黑客攻击可能会有所帮助,但 XSS 攻击肯定不会。
【讨论】: