1
ASP.NET Web APIプロジェクトで、特殊文字(%
、<
、>
など)を受け入れて一意性を検証する必要があるエンドポイントが1つありますシステム内の名前のしたがって、次のルートの場合:Web API:潜在的に危険なRequest.Path値がクライアントから検出されました
[Route("~/api/case/{name}/infosys/{system}")]
... {name}
は、特殊文字を含む場合があります。 のためにこのエンドポイントは、唯一私は特殊文字を許可すると、このエラーを与えないようにWeb APIを伝えることができる方法があります:
HttpException (0x80004005): A potentially dangerous Request.Path value was detected from the client (%).
注:[ValidateInput(false)]
と[AllowHtmlAttribute]
デコレーターがあるので、これは、Web APIプロジェクトです利用不可。また、私は私のWeb.configファイルを変更することで、他のエンドポイントでこの制限を緩めたくない:
No
<httpRuntime requestValidationMode="2.0" />
...
No
<pages validateRequest="false">
...
No
<httpRuntime requestPathInvalidCharacters="<,>,%,&,:,\,?" />
AllowHtmlAttribute多分? @ JamesR。 –
まあ、私は必ずしもこのルートのHTMLだけを許可しているわけではなく、 'AllowHtmlAttribute'はWeb APIでは利用できません。 –
ああ。申し訳ありませんが、暗闇の中で撃つだけでした... –