Django docsを引用するには:
@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_word および credit_card_number POST パラメーターの値は非表示になり、エラー レポート内の要求の表現で星 ( ****** ) に置き換えられますが、name パラメーターの値は公開されます。
エラー レポートでリクエストのすべての POST パラメータを体系的に非表示にするには、sensitive_post_parameters デコレータに引数を指定しないでください。
@sensitive_post_parameters()
def my_view(request):
...
テストとして、次のコードを Django 1.6 アプリケーションに追加しました。
ビュー.py:
@sensitive_post_parameters('sensitive')
def sensitive(request):
if request.method == 'POST':
raise IntegrityError(unicode(timezone.now()))
return render(request, 'sensitive-test.html',
{'form': forms.SensitiveParamForm()})
フォーム.py:
class SensitiveParamForm(forms.Form):
not_sensitive = forms.CharField(max_length=255)
sensitive = forms.CharField(max_length=255)
このフォームを 経由POST
で送信すると、両方のフィールド ( を含むsensitive
) の値が Sentry レポートで日として明確に表示されます。
ここで何が間違っていますか?Django 1.6 と Raven 3.5.2 を使用しています。
よろしくお願いします。