Phalcon CSRF issue with Chrome

Phanix
·
·
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

CC BY-NC-ND 2.0 授权

喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!