我已經完成了一些使用Django作爲後端的移動應用程序,現在我正在開發一個Chrome擴展。我希望我的用戶能夠使用app/extension將POST請求發送到服務器,但是有沒有辦法在不首先向服務器請求CSRF令牌的情況下執行該操作?每次我們要提交數據時,它都會保存應用程序發出兩個請求。例如,我想在我的社交媒體應用上更新我的個人資料或從Chrome擴展程序更新錢包。打開配置文件視圖輸入數據並將其推送到服務器將會很好。如果我必須打開配置文件,然後等待它從服務器獲取令牌,然後我可以提交數據,那就不那麼光滑了。有沒有另一種方法來做到這一點?或者我堅持每次我想提交數據時發出多個請求?Django CSRF保護移動應用程序和Chrome擴展
此外,稍加說明,CSRF可防止網站使用用戶數據提交表單。但是阻止我製作一個使用Ajax或其他東西來獲取真實站點並竊取CSRF令牌並將其粘貼到我的跨站點請求表單中的網站是什麼?我覺得這裏有個漏洞。我知道我並不完全理解這一點。
因此,使csrf_exempt只是使得一個csrf令牌不是必需的?如果我將它用於應用程序的後端而不提供實際頁面,那麼我可能會禁用中間件嗎?我今天做了很多關於csrf的文章(我以前認識過,但顯然不是)。說CSRF阻止人們製造一個虛假的網站試圖抓住你的用戶會話是否公平? –
CSRF可能用於會話固定攻擊。但它也允許其他攻擊。如果你只是創建和API,你確實可以刪除CSRF中間件。相反,所有的請求都應該通過某種方式進行驗證。例如。令牌或憑證。 – EWit