2011-06-07 100 views
0

我希望能够像保存的东西:如何禁用应用程序请求验证在asp.net

<script src="https://spreadsheets.google.com/gpub?url=http%3A%2F%2Foj0ijfii34kccq3ioto7mdspc7r2s7o9-ss-opensocial.googleusercontent.com%2Fgadgets%2Fifr%3Fup_title%3DBrands%26up_initialstate%26up__table_query_url%3Dhttps%253A%252F%252Fspreadsheets.google.com%252Fspreadsheet%252Ftq%253Frange%253DA%25253AE%2526key%253D0AqFjLMbUaBn_>

nvarchar(max)场,我碰到下面的,当我尝试插入:

“在 ‘/ TheScienceAndArtOfDataVisualization’ 应用服务器错误。从 客户端检测到有潜在危险的 的Request.Form值 (ctl00$MainContent$txtCode="<script src="https:/...").

+0

我试图添加validateRequest =“false”表示我想它禁用验证的页面,它没有工作,我得到了同样的错误信息! PS:我正在使用Visual Web Developer 2010 Express。 – Maen 2011-06-07 20:19:36

回答

1

如果你使用ASP.NET 4.0还可能必须做出改为web.config:

<configuration> 
    <system.web> 
    <!-- Sad requirement to allow ValidateRequest="false" --> 
    <httpRuntime requestValidationMode="2.0" /> 

但它应该如果可能,尽量避免。

-2

在web.config中找到如下:

<pages validateRequest="true"> 

,并更改为:

<pages validateRequest="false"> 
+1

我真的担心提供这个解决方案的单个页面 - 这使整个网站无法使用它。 – n8wrl 2011-06-07 20:39:36

+0

同样在这里,我不想禁用它在整个网站! – Maen 2011-06-08 18:58:49

3

如果您希望在所有页面上禁用请求验证,如果您只想在特定页面上禁用它,那么DeadYCool的答案将可用,您可以在.aspx文件的Page指令中设置ValidateRequest="false"

<%@ Page ValidateRequest="false"... 
0

请尽量不要将其禁用。 Html在将它们发送到服务器之前对您的结果进行编码。禁用一些内置的保护功能。无论哪种方式也使用Anti Cross站点脚本库GetSafeHtmlFragment。通过允许html,你可以打开自己的跨站点脚本攻击。见我在这里讲明白的问题:

http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/DEV333

相关问题