当我在textarea上输入'<test>'
时出现此错误,因此我假设字符'<'
和'>'
正在导致它。
由于我正在寻找修复方法,我发现绝大多数人都建议将其添加到web.config中:
<httpRuntime requestValidationMode="2.0"/>
或将此添加到我的操作中:
[ValidateInput(false)]
但我担心这样做会让我对sql注入之类的恶意输入开放,所以我想知道解决这个问题的更安全方法。
PS:我正在使用textareafor(虽然我不确定它有什么区别)。
答案 0 :(得分:2)
您可以在视图模型中向属性添加[AllowHtml]
属性。
无论ValidateModel如何,都可以进行SQL注入攻击。危险在于XSS攻击。为了防止XSS攻击,您可以对HTML进行编码。