我正在開發一個網站,你可以'添加朋友'另一個用戶,就像Facebook一樣。現在,我把一個鏈接,當你點擊它,一個AJAX調用完成。如何將CSRF保護添加到Symfony3上的AJAX調用?
在堅持新的友誼之前,我檢查請求是否是Ajax,但我想進一步並添加更多的安全性。一個頁面可以有超過10個鏈接(可能的請求),所以...我不知道我是否只需要一個令牌或每個鏈接的令牌。
另一個疑問是....如何使用Symfony生成令牌並檢查是否有效?重點關注如何在初始控制器上生成令牌,然後如何驗證addFriend控制器(即接收ajax調用)。
我試圖用它來生成令牌:
,然後將該檢查令牌:
https://symfony.com/doc/current/controller/csrf_token_validation.html
但總是返回令牌是不有效。
將表單創建爲正常的Symfony表單,然後將其加載到您的模板中並通過ajax發送表單。它將像任何其他Symfony表格一樣擁有CSRF令牌 –
謝謝,但在我看來,對於創建沒有表單元素的表單來說,這似乎是一種不好的做法。 –
它將有一個元素 - CSRF令牌。它可能會有其他隱藏的領域。這並不是不好的做法,它正在按照預期的方式使用Symfony框架 –