Phalcon CSRF (跨網站偽造請求) protection

CSRF (cross site request forgery)特別對於表單的保護(尤其是登入頁面)很重要,在 Phalcon framework (3.x) 中可以參考以下範例(或者參考官方文件的 example)。

在登入頁面 (e.g. login.volt) 加上一個 hidden field,其 field name 與 field value 都是由 controller 產生給予。

然後在 controller 裏頭

比較要注意的是 security->getTokenKey() , security->getToken() , security->checkToken() 這三個 funciton call。官方文件在呼叫checkToke()時,是沒有傳任何參數,但實際上是等於拿 $_POST 資料的 tokenkey 跟 token 去做驗證 (如同上面的 sample code)。

Leave a Reply

%d bloggers like this: