当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Django sensitive_post_parameters用法及代码示例


本文介绍django.views.decorators.debug.sensitive_post_parameters的用法。

声明

sensitive_post_parameters(*parameters)

如果您的其中一个视图接收到 POST parameters 容易包含敏感信息的 HttpRequest 对象,您可以使用 sensitive_post_parameters 装饰器阻止这些参数的值包含在错误报告中:

from django.views.decorators.debug import sensitive_post_parameters

@sensitive_post_parameters('pass_word', 'credit_card_number')
def record_user_profile(request):
    UserProfile.create(
        user=request.user,
        password=request.POST['pass_word'],
        credit_card=request.POST['credit_card_number'],
        name=request.POST['name'],
    )
    ...

在上面的示例中,pass_wordcredit_card_number POST 参数的值将被隐藏并替换为错误报告中请求表示中的星号 (**********),而 name 参数的值将是披露。

要在错误报告中系统地隐藏请求的所有 POST 参数,请不要向 sensitive_post_parameters 装饰器提供任何参数:

@sensitive_post_parameters()
def my_view(request):
    ...

对于某些 django.contrib.auth.views 视图(loginpassword_reset_confirmpassword_changeauth admin 中的add_viewuser_change_password),所有 POST 参数都系统地从错误报告中过滤出来,以防止敏感信息泄漏用户密码等信息。

相关用法


注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.views.decorators.debug.sensitive_post_parameters。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。