我們有一個處理來自Android和iOS應用程序的請求的Asp.NET web api。我們開始遇到包含查詢字符串的GET請求的問題。像這樣的URL:http://localhost:10723/api/Locations?userId=32432-a4r2-f32r3了這種反應:(?)從客戶端檢測到在WebAPI(Azure)中修改requestvalidation
有潛在危險的Request的值
一些調試,我看到查詢字符串已經被編碼後,使實際請求是http://localhost:10723/api/Locations%3FuserId=32432-a4r2-f32r3,並導致此問題。我可以修改應用程序來解決這個問題,但是因爲這是一個現在正在生產的應用程序,所以我正在拼命尋找API的快速修復方法,以便現在可以使用這些應用程序。
我迄今爲止嘗試:
<httpRuntime targetFramework="4.5.1" requestValidationMode="2.0" />
<pages validateRequest="false" />
及相關的httpRuntime web.config中的技巧。
我也寫了一個自定義請求驗證器。
但一切都告訴我,這是發生在頁面驗證和我的請求驗證器被擊中之前發生的事情。