在asp.net中绕过“潜在危险请求”错误的最佳方法是什么?

时间:2009-06-17 11:33:47

标签: c# asp.net html

我目前正在处理的项目在结帐时可以选择将嵌入的YouTube视频附加到广告中。

这令人头疼:

我最初的计划是从YouTube上获取用户提供的嵌入式html并拆分视频ID,并仅保存,拒绝任何不符合某种模式的内容,以确保没有狡猾的业务。

不幸的是,ASP.net验证在它被发回给我进行处理之前正在捕获html,除了关闭验证以外还有什么办法吗?

我自己可以处理不安全的HTML,并且页面上有太多其他控件来证明关闭验证的合理性。

2 个答案:

答案 0 :(得分:2)

关闭ValidateRequest标志是允许.net接受数据的唯一方法。

一种替代方法可能是使用javascript对输入进行编码,并使页面发布编码数据而不是原始html。

另一种方法是在主页上的iframe中放置一个带控件的空白页面和一个“提交”按钮。这样,您只需关闭该页面的验证,从而关闭该控件。造型可能是一个问题。

答案 1 :(得分:1)

如果您只对来自YouTube的视频ID感兴趣,您是否可以让用户输入YouTube网址,然后从查询字符串中提取视频ID?那么您根本不必担心页面验证问题。