{sensitive to filter of Django's'正在尝试筛选出^敏感信息。我以为在几个特定的选项上加上这些注释就足够了,但这行不通。我在SafeExceptionReporterFilter中设置了断点,它只在从AdminEmailHandler调用时中断,而不是从其他处理程序调用。我错过了什么?在
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()
您可以编写一个自定义的Handler,它使用
django.views.debug.ExceptionReporter
来格式化异常。在ExceptionReporter
的用法示例:ExceptionReporter
将使用由DEFAULT_EXCEPTION_REPORTER_FILTER
设置定义的ExceptionReporterFilter
,默认情况下是SafeExceptionReporterFilter
。在查看
AdminEmailHandler
的implementation,了解如何创建自定义Handler
。在即使使用
SafeExceptionReporterFilter
,异常仍将包含敏感数据(例如,服务器的ENV变量和其他运行时数据)。在为避免暴露敏感数据,不应使用此筛选器。相反,编写自己的异常处理程序中间件并有选择地(递归地?)从日志中获取所需的数据。在
请参阅^{} ,了解如何获取异常的回溯以及如何根据需要使用它。在
即使您使用CustomHandler,也会受到特定处理程序的限制,而且据我所知,第三方处理程序不会使用
SafeExceptionReporterFilter
。在相关问题 更多 >
编程相关推荐