PHP异常和安全性

时间:2009-10-27 06:40:23

标签: php security exception

当在由异常触发的页面中时,php页面会打开哪些漏洞?

我正在使用Kohana并习惯于触发异常(404,运行时等)

但是我最近读了一本书(软件安全中的19个罪孽),说一个处于不稳定状态的网站(即在由异常触发的页面中)可以对重要攻击开放。

我很担心,因为大部分时间如果不允许访问页面,我会抛出404异常;如果传递给函数的参数不是预期类型,则会抛出另外的异常。

2 个答案:

答案 0 :(得分:1)

如果不允许访问某个页面,则应发送403禁止标题而不是404未找到。

例外打开网站没有特殊漏洞 - 但经常抛出异常会暗示您的代码不是最理想且不稳定。请记住:例外是你拥有的最后一根稻草,而不是你应该考虑的第一个解决方案。

答案 1 :(得分:0)

在您的情况下,听起来您正在使用的例外情况没有特定的安全漏洞。

但是,如果error_reporting设置为on(它不应该在生产中,但是如果它是......),则可以 ,因为默认的异常输出会显示回溯。

这是一个很好的例子,当你连接到你的数据库时。如果您正在使用PDO并且连接失败,则会抛出PDO异常,并且默认输出包含提供给PDO对象的参数(例如,您的数据库名称和密码)。