我希望能够保存以下内容:
<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 :(得分:3)
如果要在所有页面上禁用请求验证,DeadYCool的答案将起作用,如果您只想在特定页面上禁用它,则可以在.aspx的ValidateRequest="false"
指令中设置Page
文件。
<%@ Page ValidateRequest="false"...
答案 1 :(得分:1)
如果您使用的是ASP.NET 4.0,则可能还需要对web.config进行更改:
<configuration>
<system.web>
<!-- Sad requirement to allow ValidateRequest="false" -->
<httpRuntime requestValidationMode="2.0" />
但如果可能的话应该避免。
答案 2 :(得分:0)
请尽量不要禁用此功能。在将结果发送到服务器之前,HtmlEncode您的结果。禁用一些内置保护功能。无论哪种方式还使用Anti Cross站点脚本库GetSafeHtmlFragment。通过允许html,您可以打开自己的跨站点脚本攻击。请参阅我在这里的演讲以了解问题:
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/DEV333
答案 3 :(得分:-2)
在web.config中找到以下内容:
<pages validateRequest="true">
并改为:
<pages validateRequest="false">