A potentially dangerous Request.Path value was detected from the client例外解決策

2448 ワード

シーン:
URLに「<,>,*,%,&,:,/」という特殊文字が存在すると、ページにA potentially dangerous Requestが投げ出す.Path value was detected from the client異常.
 
理由:
ASPです.NETのデフォルトのブロックメカニズムは、ページURL転送の一定の安全性を保証します.
 
ソリューションは2つあります.
1つ目は、ページ要求の危険文字検証を直接除去することです.
Webでconfigプロファイルのノードの下にコードを追加するには、次のようにします.
1 <system.web>
2    <httpRuntime requestValidationMode="2.0"/>
3    <pages validateRequest="false" clientIDMode="AutoID"/>
4 </system.web>
 
2つ目は、どの危険文字を検証する必要があるかを設定することです.
1 <system.web>
2     <httpRuntime requestPathInvalidCharacters="&lt;,&gt;,*,%,:,&amp;,/" />
3 </system.web>
requestPathInvalidCharactersはカンマで区切られた無効な文字のリストであることに注意してください.このキー値ペアがデフォルトで存在しない場合、制限された無効な文字セット(,,分割)は、<,>,*,%,&,:,:,/
これらの文字がすべて制限されないようにするには、requestPathInvalidCharacters="""";
一部の文字を制限したい場合は、requestPathInvalidCharactersで制限する文字を設定する必要があります.たとえば、requestPathInvalidCharacters="<,>"です.