首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >除了SafeExceptionReporterFilter之外,还可以使用Django的AdminEmailHandler吗?

除了SafeExceptionReporterFilter之外,还可以使用Django的AdminEmailHandler吗?
EN

Stack Overflow用户
提问于 2015-04-16 15:30:21
回答 2查看 798关注 0票数 7

我试图使用Django的@sensitive_post_parameters过滤掉敏感信息。我认为在这些注释之前加上几个特定的字体就足够了,但是它不起作用。我在SafeExceptionReporterFilter中设置了断点,它只在从AdminEmailHandler调用时中断,而不是在其他处理程序调用时中断。我错过了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-23 15:01:35

即使使用SafeExceptionReporterFilter,异常仍将包含敏感数据(例如服务器的ENV变量和其他运行时数据)。

若要避免公开敏感数据,请不要使用此筛选器。相反,编写自己的异常处理程序中间件并有选择地(递归地?)在日志中获取您想要的数据。

有关如何获取异常的跟踪以及如何将其用于您的需要,请参见sys.exc_info

即使您使用CustomHandler,您也会受到特定处理程序的限制,据我所知,第三方处理程序不会使用SafeExceptionReporterFilter

票数 1
EN

Stack Overflow用户

发布于 2015-04-21 18:18:47

您可以编写一个自定义处理程序,它使用django.views.debug.ExceptionReporter来格式化异常。

ExceptionReporter的示例使用

代码语言:javascript
运行
复制
from django.views.debug import ExceptionReporter

# exc_type, exc_value, traceback are a standard exception
# tuple as returned by sys.exc_info
reporter = ExceptionReporter(request, exc_type, exc_value, traceback)
html_report = reporter.get_traceback_html()
text_report = reporter.get_traceback_text()

ExceptionReporter将使用DEFAULT_EXCEPTION_REPORTER_FILTER设置定义的ExceptionReporterFilter,默认情况下是SafeExceptionReporterFilter

查看一下AdminEmailHandler实现,了解如何创建自定义Handler

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29679391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档