この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 17891|答える: 0

[ASP.NET] MVCが潜在的に危険なリクエストを検出するための回避策です。クライアントからのフォーム値

[リンクをコピー]
掲載地 2016/11/25 16:33:35 | | | |


[HttpRequestValidationException (0x80004005): クライアントから... Request.Form値に潜在的に危険なRequest.Form値が検出されます。 ]
System.Web.HttpRequest.ValidateString(String s, String valueName, String collectionName)



1. 実際、誤差は明確に説明されており、解は次のように述べられています。


クライアントから潜在的に危険なRequest.Form値(txtUEditor="<p>a</p>")が検出されました。

説明:リクエスト検証プロセスが潜在的に危険なクライアント入力値を検出し、リクエストの処理は中止されました。 この値は、クロスサイトスクリプティング攻撃など、アプリケーションのセキュリティを侵害しようとする試みがあることを示す可能性があります。 ページがアプリケーションのリクエスト検証設定を上書きできるようにするには、httpRuntime設定セクションのrequestValidationModeプロパティをrequestValidationMode="2.0"に設定してください。 例:<httpRuntime requestValidationMode="2.0" />。 この値が設定されると、 <pages> ページディレクティブや設定セクションでvalidateRequest="false"を設定することでリクエスト検証を無効化できます。 しかし、この場合、アプリケーションがすべての入力を明示的にチェックすることを強く推奨します。 詳細は http://Go.microsoft.com/fwlink/?LinkId=153133 をご覧ください。

例外詳細:System.Web.HttpRequestValidationException:クライアントから潜在的に危険なRequest.Form値が検出されました(txtUEditor="<p>a"a)。</p>

2. もう一つの方法は、web.configのPagesセクションで設定することです。例えば:




しかしこの方法は良くなく、あまりにも暴力的で、プロジェクト全体のページが提出された内容の検証を停止し、セキュリティが大幅に低下します。

3. 推奨される実践:
アクションに属性:[ValidateInput(false]を追加してください。これは投稿の検証を妨げるだけで、他のページには影響しません。




注意:Request.Form["XXX"]がこの方法で入手された場合、潜在的に危険な異常が検出される可能性があるため、取得したいデータを必ずコントローラーのパラメータに入力してください!




先の:EasyUIの認証は、パスワードと新しいパスワードが一貫していることを確認します
次に:ueditorのマルチ画像アップロードはオンライン管理および画像検索タブ機能を削除します
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com