AndroidおよびiOSアプリケーションからのリクエストを処理するAsp.NET Web APIがあります。クエリ文字列を含むGETリクエストに関する問題が発生し始めました。 http://localhost:10723/api/Locations?userId=32432-a4r2-f32r3はこの応答を与えた:WebAPI(Azure)のrequestvalidationを変更します
潜在的に危険なRequest.Path値がクライアントから検出された
私は、クエリ文字列は、符号化されていたことを見たいくつかのデバッグした後、そう(?)、このようなURL実際のリクエストはhttp://localhost:10723/api/Locations%3FuserId=32432-a4r2-f32r3であり、これが原因でした。私はこれを修正するアプリケーションを変更することができますが、これは現在生産中のアプリケーションであるため、私はAPIがすぐに動作するようにすばやく修正することを切望しています。私がこれまで試してみました何
:
<httpRuntime targetFramework="4.5.1" requestValidationMode="2.0" />
<pages validateRequest="false" />
および関連のhttpRuntimeのweb.configファイルのトリック。
カスタムリクエストバリデーターも作成しました。
これは、ページバリデーションとリクエストバリデーターがヒットする前に発生するものであることがすべてわかっています。