如何禁用向远程主机发送回溯?

时间:2014-01-23 23:18:07

标签: python security twisted traceback twisted.web

如果出现错误,我如何让Twisted不向浏览器发送回溯?它一直暴露文件路径和代码。

enter image description here

1 个答案:

答案 0 :(得分:4)

几乎每个提供人类可读内容的服务器框架都可以选择提供回溯(用于开发)或不提供(用于生产)。

在Twisted中,它被称为displayTracebacks,它被记录为twisted.web.server.Site的成员。您可以使用在Twisted中配置其他任何方式的相同方式对其进行配置。 (相应的单字选项,例如,对于命令行标志,是notracebacks。)

如果您想知道它为什么默认为True,您可能想要阅读2003 feature request that added this flag in the first place上的Glyph的基本原理:

  

不,这应该默认打开,因为当你   正在使用您通常正在开发的默认值。系统   管理员可以通过添加使其成为站点本地默认值   to sitecustomize.py或somesuch。

(正如11年更为明智的Glyph版本在评论中指出,在应用程序中设置它比使用站点本地默认值更好。但基本思路是相同的。将其设置为{ {1}}在任何级别,你都会得到你所追求的行为。)