暴露错误消息
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
在开发过程中,通过浏览器检查错误和跟踪异常是非常有用的。Django提供了漂亮且详细的debug信息,使得调试过程更加容易。
然而,一旦在站点上线以后,这些消息仍然被显示,它们就可能暴露你的代码或者是配置文件内容给攻击者。
还有,错误和调试消息对于最终用户而言是毫无用处的。Django的理念是,站点的访问者永远不应该看到与应用相关的出错消息。如果你的代码抛出了一个没有处理的异常,网站访问者不应该看到调试信息或者 任何代码片段或者Python(面向开发者)出错消息。访问者应该只看到友好的无法访问的页面。
当然,开发者需要在debug时看到调试信息。因此,框架就要将这些出错消息显示给受信任的网站开发者,而要向公众隐藏。
解决方案
正如我们在第12章所提到的,Django 的 DEBUG
设置控制这些错误信息的显示。当你准备部署时请确认把这个设置为:False
。
在Apache
和mod_python
下开发的人员,还要保证在Apache的配置文件中关闭 PythonDebug Off
选项,这个会在 Django 被加载以前去除出错消息。
在线练习
{$ activeFileHint $}