2011-06-07 102 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

相關問題