私は試しませんでしたが、このnginx confファイルが役立つかもしれませんhttps://github.com/shrikeh/csrf-nginx-redis-lua
もう 1 つのオプションは、トークンをテンプレートから除外し、ここで提案されているようにajax を介して Django から動的に取得することです。恥知らずなコピペ:
// JS code
$.ajax({
url: // your csrf url,
type: 'GET',
data: {type: 'login'}, // only if you need a session id for cookie login
dataType: 'json',
success: function(data) {
$('form').each(function() {
$(this).append(
'<input type=hidden name=csrfmiddlewaretoken ' +
' value="' + data.token + '">');
});
}
});
// Django code
# views.py, don't forget to add to urls.py
def get_csrf(request):
if request.GET.get('type') == 'login':
request.session.set_test_cookie()
return JSONResponse({
'status': 1,
'token': getattr(request, 'csrf_token', 'NOTPROVIDED')
})