當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。