前端來防止csrf,這個做法是否有漏洞

時間 2021-05-31 17:40:33

1樓:冰淤

你也已經說了同源策略,那麼當前端和後端不同源的時候,你在前端 set-cookie 是無效的,因此這個方案就走不通了。

還有就是,即使是前後端完全分離,後端來做 CSRF 也是沒問題的,因為這個HTML的 index 檔案可以是後端的模板檔案,在這個模板檔案裡,後端就可以寫入 CSRF-TOKEN,然後做前後端分離的時候,只需要在模板檔案裡寫入前端 MVVM 框架的 root-dom 就行了(我用的 Vue.js,其它的不清楚)。

基本上就解決 CSRF 的問題了。

其實 CSRF 無法很好處理的地方在於 SSR,並且後端不是 Node.js,而是其它語言,那這個 CSRF-TOKEN 的傳遞就很麻煩了。但我感覺也是有辦法的。

所以說 CSRF 並不需要前端來解決。

2樓:賀師俊

你都已經是 ajax 請求了,簡單的加一些特製請求頭就足以防禦一般的 csrf,不需要設 cookie 然後伺服器刪 cookie 那麼複雜。

92年女,想學前端,來得及麼

感謝相遇 同年男,正在學。沒必要問,想學就學,別聽什麼難啊,太難了的什麼亂七八糟的分析,蒙著頭莽就是了。還很年輕,有的是時間,有的是機會。 程式設計師內功心法 首先我先給你答案 當然來得及了!而且前端確實是個不錯的選擇!你無非就是擔心自己92年了,感覺年紀大了在這個行業可能不太好發展是吧,其實不然....

如何看待 svelte 這個前端框架?

NidhoggDJoking Vue的快捷與原生完美結合,加上未來webgl的普及對開發者提供一種不錯的體驗,輕量級框架對大型專案的效能就有待觀察了,其次是生態還遠遠沒有達到主流框架的程度,不過未來可期。PS angular是時候下來了svelte上位。 rz1900 看起來很誘人,但是包體積和頁面...

我是前端,然後想學這個nest js請問這個有學到必要嘛?

隊長別開槍 有精力學肯定是推薦學習的。用nestjs做一做b端或者自己的小專案都是ok的。學nestjs的過程中能跟著學會ts的高階使用 裝飾器和元資料。也會學到很多新的程式設計概念 FP,FRP,DTO,Entity,依賴注入等。對於擴寬自己的知識面還是很不錯的。 白日夢 nest.js next...