2016-03-07 111 views
1

我們在具有負載平衡服務器的2臺服務器上安裝了Internet站點,兩臺服務器上的代碼相同,但其中一臺服務器每分鐘顯示以下例外,「$ MainContent $ ASPCONTROL「每次都在變化。從客戶端檢測到有潛在危險的Request.Form值異常

A potentially dangerous Request.Form value was detected from the client (ctl00$MainContent$drpOwnerNationality="...lect'"()&%<acx><ScRiPt >prompt..."). at System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection) 
    at System.Web.HttpRequest.ValidateHttpValueCollection(HttpValueCollection collection, RequestValidationSource requestCollection) 
    at System.Web.HttpRequest.get_HasForm() 
    at System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) 
    at System.Web.UI.Page.DeterminePostBackMode() 
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
    at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
    at System.Web.UI.Page.ProcessRequest() 
    at System.Web.UI.Page.ProcessRequest(HttpContext context) 
    at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)_ApplicationError, 
+0

我認爲你的控制之一有腳本..ASP.Net做潛在的XSS驗證您的窗體上的所有輸入,...所以它是檢測腳本像字符串中的一個你的控件是什麼例外狀態.. – Viru

+0

請同時添加asp.net頁面代碼 – Aristos

+0

你是否在任何輸入字段中向服務器發送HTML? –

回答

0

我覺得你的控制(drpOwnerNationality)中的一個具有script..ASP.Net做你的窗體上的所有投入的可能XSS驗證......所以它在你的控制中的一個檢測腳本是什麼例外狀態。

問題可能是您的應用程序的用戶之一是在Textbox/Control中輸入腳本,並且您沒有在您的客戶端驗證。

的一種方法是在客戶端做驗證,並通知用戶,他們無法進入腳本在你的控制

另一種方式是通過網頁上設置validateReqeust屬性設置爲false

<@ Page validateRequest="false" %> 

關閉驗證但是,如果你這樣做,那麼你已經將你的應用程序暴露給XSS攻擊。一種方法可能是在處理該信息之前禁用驗證並對所有輸入進行編碼...

`HttpServerUtility.HtmlEncode(drpOwnerNationality.SelectedText);` // assuming it is dropdown 
+0

drpOwnerNationality是下拉列表,它不應該包含「... lect'」()&%

0

錯誤原因是因爲您嘗試發送純html或其他可能包含不安全元素的內容。 1.您可以像下面的article一樣禁用請求驗證。 2.其他選項,你可以在使用第三方JavaScript庫發送你的內容到Base64(嘗試谷歌它)。

還有其他幾種選擇,但它取決於你的情況。

+0

我不嘗試發送不安全的HTML,\t drpOwnerNationality是dropdownlist,它不應該包含「... lect'」()&%

  • 11. 從客戶端檢測到潛在危險的Request.form值
  • 12. ASP.NET Webforms - 「從客戶端檢測到潛在危險的Request.Form值」
  • 13. 從客戶端檢測到潛在危險的Request.Form值
  • 14. 「檢測到潛在危險的request.form值」
  • 15. 從客戶端檢測到有潛在危險的Request.Form值(wresult =「<trust:RequestSecuri ...」)
  • 16. ASP.NET 4.5從客戶端檢測到有潛在危險的Request.Form值
  • 17. IE只 - 從客戶端(MVC-剃刀)檢測到有潛在危險的Request.Form值
  • 18. 從客戶端檢測到有潛在危險的Request.Form值,請編碼幫助
  • 19. MVC 5 - 從客戶端檢測到有潛在危險的Request.Form值
  • 20. 潛在危險Request.Form值被檢測到
  • 21. 提醒用戶「從客戶端檢測到潛在危險的Request.Form值」
  • 22. 無法過濾「從客戶端檢測到潛在危險的Request.Form值」在elmah
  • 23. System.Web.HttpRequestValidationException:從機器人的客戶端檢測到潛在危險的Request.Form值?
  • 24. MVC 4 - Razor - 「從客戶端檢測到潛在危險的request.form值」
  • 25. 如何解決..從客戶端檢測到潛在危險的Request.Form值
  • 26. 「在客戶端檢測到潛在危險的Request.Form值」之前頁面加載
  • 27. 從客戶端檢測到潛在危險的Request.Path值
  • 28. 從客戶端檢測到潛在危險的Request.Path值(:)
  • 29. 獲取「從客戶端(&)檢測到潛在危險的Request.Path值」
  • 30. 從客戶端檢測到潛在危險的Request.QueryString值