ASP.NET MVC 4 Beta模板生成的頁面是否可以抵禦跨站點請求僞造?ASP.NET MVC 4 Beta編輯器模板是否對CSRF安全?
具體而言,是由所產生的「編輯」視圖和控制器動作「控制器,讀/寫操作和視圖,使用的EntityFramework」反對CSRF保護?
檢查由編輯表單生成的HTML代碼,我看不到的隱藏字段或另一種方式來實現的防僞標記。
我缺少的東西或者是默認的例子不安全?
ASP.NET MVC 4 Beta模板生成的頁面是否可以抵禦跨站點請求僞造?ASP.NET MVC 4 Beta編輯器模板是否對CSRF安全?
具體而言,是由所產生的「編輯」視圖和控制器動作「控制器,讀/寫操作和視圖,使用的EntityFramework」反對CSRF保護?
檢查由編輯表單生成的HTML代碼,我看不到的隱藏字段或另一種方式來實現的防僞標記。
我缺少的東西或者是默認的例子不安全?
你需要明確落實防僞造令牌。
在視圖:
在控制器
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult MyAction(MyViewModel model)
{
...
你總是可以創建自定義T4模板來生成這個給你,但是不行,出的現成模板不要默認這樣做。
謝謝您確認所提供的ASP.NET MVC模板生成易受CSRF攻擊的代碼,並提供有關如何解決此問題的示例代碼。 – 2012-04-01 22:26:03
這不適用於IE。 :(可以幫助我與IE瀏覽器? – 2017-10-10 05:01:24
我的理解是,生成易受攻擊代碼的模板是一個安全漏洞;我提交了關於[Microsoft連接(bug報告https://connect.microsoft.com/VisualStudio/feedback/details/734975/code-generation-recipes-templates-must-not-generate-code-vulnerable-to-csrf -attacks)。 – 2012-04-01 22:54:47
我會從你的標題,控制器中刪除4個,它們是編輯器模板,而不是控制器模板。這是MVC 2的新增功能,但不適用於MVC 3或MVC 4. – RickAndMSFT 2012-04-02 06:54:40
我明白了,但我想知道的是,如果當前Beta版本已在其默認模板或配方中實施了針對CSRF的保護。我已經知道舊版本沒有。 – 2012-04-02 11:07:47