2012-11-28 22 views
4

我最近閱讀了關於csrf標記的內容。我正在使用YII框架來開發我的項目。我在config/main.php中啓用了csrf驗證,並且yii將令牌放入隱藏的表單字段中。並檢查令牌是否有效。一切安好。但是我已經觀察到,當我刷新並且頁面中的所有表單都使用相同的標記時,CSRF標記的值不會發生變化。YII框架中CSRF標記多長時間工作

這使我感到困惑。如果csrf令牌沒有改變,那麼任何黑客都可以在他的請求中使用該令牌,並且能夠產生有效的請求。那麼csrf令牌如何提供安全性?這是YII框架的問題嗎?或者我錯過了一些事情?我希望我確實錯過了一些東西。如果我們必須手動生成令牌,請告訴我如何生成並驗證(最好在YII框架中)

回答

1

每個會話實施Csrf令牌生成。 check

黑客如何將令牌生成到會話中?

每個請求令牌生成也有一個過程,但我認爲這不是在yii中的好方法。 problem with per request token generation

+0

因此,會有2個令牌生成,一個會在Cookie中,另一個會在窗體隱藏字段中?和YII檢查? – prasadmsvs

+0

yes.You還可以在會話開始時生成令牌並將其保留在會話中並對其進行檢查而不是使用cookie。 – Hemc