4

私は一日中検索しており、MVC アプリケーションでスクリプトが送信されないようにすることについてかなり混乱しています。私が見つけたもののほとんどは、リクエストの検証を無効にする方法を教えてくれていますが、これは私が望んでいるものではありません。

Views フォルダーの web.config には、次のように記載されています

ビュー ページでリクエストの検証を有効にすると、入力がコントローラーによって処理された後に検証が行われます。デフォルトでは、MVC はコントローラーが入力を処理する前にリクエストの検証を実行します。この動作を変更するには、ValidateInputAttribute をコントローラーまたはアクションに適用します。

これにより、スクリプト タグを送信しようとすると、MVC アプリが「潜在的に危険な Request.Form 値が検出されました」というエラーをスローする必要があるように聞こえますが、次のようなものを送信できます。

</input><script>alert("hello world");</script>

そして、スクリプトが追加されたページをロードすると、JS 警告ボックスが表示されます。

潜在的に危険なスクリプトを送信できるのはなぜですか? 私は何が欠けていますか?

4

0 に答える 0