在標準的ASP.net應用程序中,ASP.net爲XSS攻擊提供了一些保護,如果有人嘗試使用validateRequest拋出檢測危險的輸入錯誤。爲什麼這個功能似乎已經被MVC帶出了?爲什麼從ASP.net MVC中取出驗證請求?
5
A
回答
4
這是一條艱難的路線。您的Web應用程序僅僅是一個RESTful Web資源嗎?或者它試圖做更多。接下來你知道你有100個隱藏的輸入字段:__VIEWSTATE,__EVENTTARGET,__EVENTARGUMENT等等。
如你所知,你仍然可以防止MVC中的XSS攻擊。只需google it就可以看到幾個例子。但其原因基本上是MVC是一種不同的「更清潔」類型的Web應用程序。
編輯:我不知道我上面說的是否清楚。但是,這個想法是,MVC不會試圖超過它(就像ASP.NET一樣)。他們都有自己的優點和理由。
2
1
我發現ValidateRequest解決方案是一個黑客攻擊。在我看來,'防範XSS'是一個商業規則;因此讓模型處理這種情況。
我真的很喜歡關於更好地遵循REST原則的解釋。至於100個隱藏的領域,它讓我想起幾年前我提供的ASP解決方案;我使用了隱藏字段來擴展元數據。不漂亮。
7
我知道這個問題很老,但我認爲我可以回答它。
有一個ValidateInput操作過濾器屬性可以添加到操作中。
[ValidateInput(true)]
public ActionResult Foo()
{
}
您也可以使用模特屬性
public class MyModel
{
public Guid ID { get; set; }
[AllowHtml]
public string SomeStringValue { get; set; }
}
相關問題
- 1. 防止ASP.Net中的XSS Webforms:爲什麼驗證請求不夠?
- 2. 在MVC中驗證REST請求2
- 3. Spring 3 MVC請求驗證
- 4. 我不能關閉請求驗證爲ASP.NET MVC控制器
- 5. Python請求彈出驗證
- 6. ASP.NET Core Web API:爲什麼需要在Get請求中使用ModelState驗證?
- 7. 如何向ASP.NET MVC中的ModelStateDictionary添加請求驗證錯誤?
- 8. 什麼使請求在asp.net中發出新的請求C#
- 9. Heroku不驗證證書請求,爲什麼?
- 10. 在ASP.NET 4.5 RC中請求驗證Umbraco
- 11. 爲什麼在REST請求中驗證內容類型標頭
- 12. 旁路MVC驗證的GET請求
- 13. 獲取ASP.NET MVC中的原始請求
- 14. jQuery在ASP.Net中獲取請求MVC 5
- 15. Asp.mvc請求驗證
- 16. ASP.NET MVC驗證
- 17. ASP.NET MVC驗證
- 18. ASP.NET MVC驗證
- 19. 爲什麼在AJAX請求調用abort()會導致ASP.Net MVC(IE8)
- 20. Bingbot拋出ASP.NET/IIS7中的請求驗證問題
- 21. MVC 2和ASP.NET 4請求驗證異常
- 22. 爲什麼ASP.NET MVC 3不能正確驗證我的浮動?
- 23. ASP.NET MVC Unobtrusive驗證 - 爲什麼需要表單上下文?
- 24. 爲什麼使用fluentvalidation代替ASP.NET MVC驗證
- 25. 驗證請求sql
- 26. 爲什麼RequestValidation不能在AJAX請求上驗證?
- 27. 爲什麼Django Rest Framework試圖驗證請求?
- 28. 爲什麼rails不驗證CSRF的XHR請求?
- 29. 爲什麼ajax請求不能觸發驗證
- 30. 爲什麼我的網頁的請求需要驗證?
謝謝提摩太,我沒有考慮到特定網站的AllowHtml屬性。我認爲請求驗證仍然與restfulnature保持一致,因爲它在請求被幹擾之前一直被接收,並且只有在其潛在危險的情況下。你用xss採取什麼方法? – alexmac 2008-11-29 20:09:52