Phalcon CSRF issue with Chrome
IPFS
主因是 Chrome 瀏覽器有些行為很奇怪。
在這篇(https://forum.phalcon.io/discussion/922/csrf-protection-not-working#C6649)討論裡面有提到,Chrome瀏覽器在 background 會去 request /favicon.ico 與 /robots.txt,但是一般網站如果沒有這兩個檔案,會造成 Chrome 瀏覽器會重發一次 request 導致產生新的 session token,但是問題是在登入表單上的 token 早就已經產生了,所以之後怎麼做 forgery 驗證都會失敗。
懶惰的解法就是放個 /favicon.ico 跟 /robots.txt,或者直接在 web server 設定回傳 http status code 204。以 apache2.4 來說可以直接在 .htaccess 寫
RedirectMatch 204 /robots.txt RedirectMatch 204 /favicon.ico
Original link: Phanix's Blog
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!