根据内部宽度显示脚本 - 没有“有潜在危险的request.form”

时间:2012-11-14 08:25:55

标签: javascript jquery asp.net xss validate-request

我想要的是什么:

我有一种情况,我想在我的网站上显示联盟广告。这些基本上是javascripts,其中包含内容。由于我的网站有响应式设计,我想根据jQuery innerwidth属性加载不同的广告。总结一下:我想根据innerwidth属性加载不同的javascripts。

我做了什么:

我在hiddenfields中加载了两个不同的javascripts,根据内部宽度,我使用div.html()命令显示其中一个。但是,当用户提交帖子(ASP.NET防御XSS)时,这会产生“潜在危险的request.form”错误,因为加载的内容具有危险的特征,这是有道理的。

我可以在所有页面上说“ValidateRequest = false”,但这是一个可怕的解决方案,会打开很多安全问题。

我的想法......

最好的方法是从服务器端加载广告,但我们不知道这里的浏览器宽度。从我能够阅读的内容来看,似乎很难/不可能在page_load上获得内部宽度值。

但我想加载广告而不会产生潜在的危险请求。

关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:0)

我最终得到的解决方案是在Page_Load中将HTML设置为不可见的div,DivA和DivB。

然后,在JavaScript中,根据innerwidth属性(以及resize事件),我可以将div设置为visible / invisible。

与我试图做的相比,非常简单的解决方案。是的,它提供了更多的渲染HTML,但至少它可以工作,而且速度很快。