在基本的MVC項目中,我的所有表單都有@Html.AntiForgeryToken()
我目睹了針對特定用戶會話的全部表單的令牌(cookie)值始終相同。這是爲什麼?我部分理解(否則會出現很多問題,例如使用「後退」按鈕)。但是,爲什麼不讓它使用「鹽」不同的形式不同:瞭解ASP.NET MVC防僞保護
「此方法已不使用AntiForgeryToken()方法,而不是 要指定自定義數據將被嵌入令牌內,使用靜態 。 AntiForgeryConfig.AdditionalDataProvider屬性「。
爲什麼它如此巨大(在我的例子中,207字節,用戶身份名稱是7個字符)?標準會話ID要短得多(41)。
「AntiForgeryToken」不是隱藏表單的值嗎? –
就是這樣。但生成的令牌存儲在cookie和隱藏字段中。在發佈時,它們的值必須與通過驗證的值相同。 – UserControl
啊,對了;疑難雜症! –