首页 > 解决方案 > Django 无法隐藏敏感变量

问题描述

我已将我的应用程序连接到 Sentry,并且正在尝试检查是否可以防止记录敏感变量。

这是我的代码:

   @sensitive_variables('user', 'pw', 'cc')
    def get(self, request):
        user = "foobar"
        raise Exception(f"{user}")


根据文档,我的期望是它将替换userwith 的值: https ://docs.djangoproject.com/en/2.2/howto/error-reporting/#filtering-sensitive-informationstars (**********)

然而,异常打印出了它的实际值——哨兵日志反映了这一点。

我如何用星号代替敏感信息的价值?

标签: pythondjangopython-3.xsentry

解决方案


您可以将 Sentry 配置为隐藏某些字段/值,也可以定义过滤功能

import sentry_sdk

def strip_sensitive_data(event, hint):
    # modify event here
    return event

sentry_sdk.init(
    before_send=strip_sensitive_data
)

这将需要一些实验才能得到你想要的


推荐阅读