[英]CSRF and RESTful API (symfony2, php)
我正在使用php / symfony2開發RESTful API。
Symfony2具備開箱即用的CSRF保護功能,並且在使用常規表單數據時可以正常工作(它將CSRF令牌傳遞到表單,並且在回發時它期望嵌入在表單中的令牌相同)。
但是,如果您開發RESTful API,則此解決方案不適合您的目的,因為我的backend <-> frontend之間的通信完全基於JSON。 因此,我禁用了CSRF。
我知道沒有CSRF令牌是不安全的,所以我想知道使用帶有RESTful API的CSRF的最佳方法是什么。
想到的一個想法是擁有特定的URL,例如/ api / generate / csrf,可以由前端調用,然后將令牌附加到json請求。 聽起來並不是最安全的方法,因為技術上任何人都可以生成令牌。
開發RESTful API時,解決CSRF問題的最佳方法是什么。
干杯,理查德
請記住,只有當REST客戶端使用基於會話的身份驗證時,才需要CSRF保護,否則CSRF保護將無濟於事。
如果您的請求確實使用基於會話的身份驗證,則將CSRF令牌作為標頭包含在內。 就像是:
CSRF-Token: dfsa0jr3n2io20a;
我也在解決這個問題。 這是我最初的問題 。
到目前為止,我已經有了一個理論上的解決方案,但是我不確定它是否會起作用。 也許有人可以發表評論。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.