我想让用户仅在一个文本框中输入HTML。 我了解可以更改页面指令中的ValidateRequest
为false以删除保护。
我猜这会允许在页面上的任何文本框中输入HTML。 有没有办法仅在单个控件上应用ValidateRequest="false"
呢?
感谢任何帮助。
我想让用户仅在一个文本框中输入HTML。 我了解可以更改页面指令中的ValidateRequest
为false以删除保护。
我猜这会允许在页面上的任何文本框中输入HTML。 有没有办法仅在单个控件上应用ValidateRequest="false"
呢?
感谢任何帮助。
不,请求验证适用于整个请求或者不适用。
添加验证是为了保护那些对输入验证毫不知情的开发人员。如果您知道所有输入都必须视为不安全,并知道如何正确编码从输入中使用的数据以保护自己免受SQL注入和跨站脚本等问题的影响,则可以关闭验证。
更新:在.NET 4.5中,新增了ValidateRequestMode
属性,允许排除页面全局验证中的控件。 (链接)
尝试关闭ValidateRequest并使用此方法从每个单独的控件/参数中删除标记:
public static string RemoveMarkUp(this string s) {
return Regex.Replace(s, @"<[a-zA-Z\/][^>]*>", string.Empty);
}