我正在嘗試this example。每當我嘗試訪問dajax函數時,它會給出「無csrf或會話cookie」錯誤。如何在javascript中添加csrf標記。我試着在模板中添加csrf標記,但它不起作用。csrf令牌dajaxice
回答
將中間件'django.middleware.csrf.CsrfViewMiddleware'添加到中間件類MIDDLEWARE_CLASSES的列表中。 (如果正在使用CsrfResponseMiddleware,並且在任何視圖中間件假設已經處理了CSRF攻擊之前,它應該會出現在之前。) 或者,您可以使用裝飾器django.views.decorators.csrf.csrf_protect關於您想要的特定視圖保護(見下文)。
在使用一個POST形式,使用csrf_token標籤的元素內,如果表單是用於內部URL任何模板:
{%csrf_token%}
,這不應成爲爲針對外部URL的POST表單完成,因爲這會導致CSRF令牌泄漏,從而導致漏洞。
在相應視圖的功能,確保正在使用的「django.core.context_processors.csrf」上下文處理器。通常,這可以通過以下兩種方式之一完成:
3.1使用RequestContext,它始終使用'django.core.context_processors.csrf'(不管您的TEMPLATE_CONTEXT_PROCESSORS設置如何)。如果您正在使用通用視圖或contrib應用程序,那麼您已被覆蓋,因爲這些應用程序始終使用RequestContext。
3.2手動導入並使用處理器生成CSRF令牌並將其添加到模板上下文中。
1)在模板標籤後添加 'django.middleware.csrf.CsrfViewMiddleware' 你MIDDLEWARE_CLASSES settings.py中
2),使用{%csrf_token%}
基本上,這就是它
https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#ajax在這裏你可以瞭解JavaScript和Ajax CSRF令牌
- 1. httplib - CSRF令牌
- 2. 笨,CSRF令牌
- 3. csrf令牌使用
- 4. CSRF令牌生成
- 5. Laravel behat CSRF令牌
- 6. 避免CSRF令牌
- 7. 瞭解CSRF令牌
- 8. csrf令牌跟進
- 9. Flask-Security CSRF令牌
- 10. CSRF同步令牌
- 11. Django的CSRF令牌
- 12. CSRF令牌驗證
- 13. 變化CSRF令牌
- 14. CSRF 403禁止 - 無效的CSRF令牌
- 15. 傳遞一個CSRF令牌
- 16. Symfony2 CSRF令牌無效
- 17. 爲window.location.href添加CSRF令牌
- 18. Braintree CSRF令牌丟失
- 19. laravel CSRF令牌與枝條
- 20. 的CSRF令牌無效
- 21. csrf令牌,安全問題?
- 22. 如何驗證CSRF令牌?
- 23. Angular 2 Spring Security CSRF令牌
- 24. CSRF令牌春季安全
- 25. Cookie中的CSRF令牌
- 26. 不記名令牌和CSRF
- 27. Csrf令牌縮放問題
- 28. CSRF令牌使用SPA
- 29. CSRF令牌不起作用?
- 30. Symfony - CSRF令牌無效 - FosRestBundle