【问题标题】:Selective Validation选择性验证
【发布时间】:2010-10-17 08:26:32
【问题描述】:

我有一个包含许多文本字段的表单,并且所有字段都在验证中,我还添加了 NiceEdit 插件,以便能够在我的文本区域中格式化文本,但它会引发如下错误:

从客户端检测到有潜在危险的 Request.Form 值

现在我可以简单地转到页面顶部并在页面指令中添加ValidateRequest="false" 但这将使我无法进行我真正需要的所有验证,那么如何关闭我的文本区域的验证? ?

VB.net、ASP.net 3.5、VWD 2008 Express...

谢谢

【问题讨论】:

    标签: asp.net vb.net validation textarea


    【解决方案1】:

    ValidateRequest 设置关闭/打开针对一组预定义危险值的内置验证。 HTML 字符串被认为是危险的,因为它们可能被用于提交和发起 XSS/HTML 注入攻击。

    您的问题似乎暗示您误认为此属性会影响您页面的验证控件。这不准确。

    既然您可能希望允许用户通过“NiceEdit”插件提交 HTML,我可以想到两种方法:

    1. 关闭页面的ValidateRequest 并手动处理验证。在提交表单之前检查危险值。

    2. 为页面保留ValidateRequest,但在客户端,就在提交页面之前,使用Javascript对相关文本区域中的HTML值进行编码(如有必要,对所有“" 字符),然后只允许提交。

    后一种方法在Mads Kristensen's博客和here上进行了演示。

    【讨论】:

    • 很好的答案伙伴,确实,我修复了它,转而我认为它会导致所有验证被关闭,但它不会影响它......谢谢
    • 非常欢迎并感谢您的接受!很高兴我能够正确猜到您担心页面级验证。 ;-)
    • 选项 2 的精彩解释!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多