に次のように入れています次のエラーで提出: 要求:私は、私は以下を参照してくださいデバッガでshow-のルックアップの値を分析すると ははなぜASP.net MVCは、私は次のようになります。私の見解では、コードの行を持ってForm.Request
「潜在的に危険のRequest.Form値がクライアントのショーのルックアップ=から検出されました」。書式["show-Lookup"] ルックアップ
ASP.net MVCはこれをどこから取得していますか?これは価値がないはずですか?
に次のように入れています次のエラーで提出: 要求:私は、私は以下を参照してくださいデバッガでshow-のルックアップの値を分析すると ははなぜASP.net MVCは、私は次のようになります。私の見解では、コードの行を持ってForm.Request
「潜在的に危険のRequest.Form値がクライアントのショーのルックアップ=から検出されました」。書式["show-Lookup"] ルックアップ
ASP.net MVCはこれをどこから取得していますか?これは価値がないはずですか?
これはMVCとは関係ありません。それは基本的なHTMLです。 Anything with a name
can be considered for inclusion in your form, subject to certain restrictions (see the spec)。あなたがフォームにそれを望まないなら、name
を取り除く。 contoller上
は、この属性を追加し、私が提案したい
[ValidateInput(false)]
ことの一つは、ちょうどあなたが何をしているかがわからない場合は、コードの上に使用していけません。上記のコードでは、サーバーがフォームから受け取った入力を検証することはありません。
つまり、ur形式のユーザーが「alert( 'hacked')」のような名前を入力すると、コントローラはその値をそのまま受け取ります。そして、それをDBに追加して表示すると、その災害がどこに表示されますか。ユーザーは、ajaxリクエストを作成するための完全修飾javascriptを入力することができます。
この問題を解決する別の方法は、目的を解決していないので、ボタンから属性名を削除するだけです。
質問: 私は、デバッガでshow-のルックアップの値を分析すると、私は以下を参照してください。あるRequest.Form [「ショー検索」] ASP.net MVCからこれを得ている検索 ?これは価値がないはずですか?
ボタンに属性名を追加すると、この値が表示されます。属性を追加したため、ブラウザはそのプロパティもサーバーに送信しています。
これは問題を "解決"しますが、それは良いアドバイスではありません。 – GalacticCowboy
@above:はい私はこれについて言及しようとしていました –
はい、うまくいきます、私は別のブログでそのことを読んでいます。しかし、それはなぜそれがそのようなフォームの変数を設定しているのかをまだ説明していません。 – Carl
<button></button>
がフォームとともに提出されます。異なるブラウザでは、これをやや異なる方法で扱います。IEは、開始タグと終了タグの間にある値(ボタンの「コンテンツ」)を他のブラウザがvalue
属性を送信する間に送信します。
ボタンの動作は、指定しない限りブラウザによって異なります。 (9より前の)IEでは、<button>
要素は「ボタン」タイプであり、他のブラウザでは「送信」です。 (これもW3C仕様です。)
これはトリックです! – Carl