我寫下了我對csrf protcetion
機制的理解django
。請糾正我是否有問題。瞭解csrf在django隱藏字段中的形式和CSRFCookie
csrfViewMiddleware
創建一個唯一的字符串並將其存儲在源自主機的窗體的隱藏字段'csrfmiddlewaretoken'中。由於模仿此表單的惡意網站無法知道此字段的值,因此無法使用它。
當有人試圖發佈表單時,網站會檢查'csrfmiddlewaretoken
'字段及其值。如果錯誤或未設置,則檢測到csrf嘗試。
但是,究竟究竟是什麼? The doc表示在和hidden field
中設置了唯一的值。這是我感到困惑的地方。Cookie是否被嵌入唯一字符串發送到瀏覽器?我希望有人能夠清楚地解釋這一點。
謝謝你,
因此,只有經過身份驗證的用戶的瀏覽器才能獲取此令牌,而不是每個訪問該網站的人。是否正確? – damon 2012-03-30 03:46:06
不知道Django如何處理它 - 它可以保護所有用戶而不管身份驗證狀態如何。基本上任何能夠改變應用程序某個方面的動作都應該有CSRF保護。 – Todd 2012-03-30 03:49:51