問題タブ [validate-request]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3196 参照

asp.net - HttpHandlers で ValidateRequest="true" を使用する

次のように、web.config の HttpHandlers セクションに HTTP ハンドラーを設定しています。

PCI スキャンにより、このハンドラー内の脆弱性が明らかになり、XSS 攻撃を受けやすくなります。基本的に、クエリ文字列を介してタグを渡すことができ、httphandler はタグを生の形式で応答に直接ダンプします。

このハンドラーのソース コードにアクセスできないため、asp.net と次のタグを使用して、この脆弱性を閉じようとしています。

ただし、これは機能していません。クエリ文字列は検証されておらず、タグはまだ取得中です。

asp.net 3.5 で IIS7 を実行しています。

誰でも助けることができますか?

乾杯、パット

0 投票する
2 に答える
641 参照

c# - ValidateRequest = falseを設定した場合、サイトを保護するために何をする必要がありますか?

ValidateRequest =デフォルトではtrueであるため、デフォルトでは、どの入力フィールドにも「<」または「>」を入力できないことを発見しました。

XSS攻撃についてあまり知らないので、私にとっては非常に制限的なようです。

これを回避するために、validateRequest = falseを使用して、ユーザーデータをエンコードできることに気付きました。明らかに、MicrosoftにはvalidateRequest = trueを設定する正当な理由があるため、問題は、サイト全体に多数のページがあり、すべてが「<または>の問題を設定できない」ということです。

私の質問は、2つの選択肢しかないのですか?

1)validateRequest = trueのままにして、ユーザーが<または>を入力できないようにします。2)validateRequest = falseに切り替えて、予防策を講じます。

2の場合、すべてのデータ入力をエンコードすることを意味しますか?ログインやパスワードからユーザーテキスト、検索条件までのテキストフィールドのように?それとも、一部の入力に対してのみ実行する必要がありますか?もしそうなら、どのフィールドをターゲットにすべきですか?

0 投票する
2 に答える
1390 参照

asp.net - ValidateRequest="false"でも検証例外

管理者ユーザーがデータベースに入力するために送信するHTMLを追加できるWebフォームのテキストボックスがあります。

以前は、検証エラーを回避するために、HTMLデータを送信するときに常に追加ValidateRequest="false"していました。Pageただし、このWebサイトでは、にValidateRequest設定してfalseいても、次のエラーが発生します。

潜在的に危険なRequest.Form値がクライアントから検出されました

これは.NET4のセキュリティに関係していると聞きましたが、これはASP.NET3.5アプリケーションです。

なぜまだこのエラーが発生するのですか?

0 投票する
2 に答える
200 参照

c# - テキストボックス検証強制エラー

Vista、ビジュアルWeb開発者エクスプレス2010、C#、asp.net、Webフォーム。ctrl-F5でプログラムを実行しています。このプログラムを実行するのは私だけです...そして、ローカルデータベースを使用して私のラップトップでのみ実行されます。

Webページをダウンロードして表示し(分析を行い)、結果をログに記録するアプリを作成します。ページをダウンロードするためのコードを見つけました-うまく機能します。次に、テキストボックスのtextプロパティをページの文字列の内容と同じに設定します。その部分も機能します。次に、コードを再度実行しましたが、テキストボックスの内容が検証され、エラーメッセージが表示されます。

結果をテキストボックスに表示しない限り、問題なくコードを何度も実行できます。私はいくつかの異なる解決策を試しました:

  1. テキストボックスでenabled="false"属性を試しました...これにより、コードの最初の部分を表示できますが、テキストボックスが有効になっていないため、上下にスクロールしてファイルを表示できません。したがって、これは実際には問題を解決しません。

  2. ページディレクティブとsystem.web( http://www.asp.net/learn/whitepapers/request-validationによる)でvalidateRequest = "false"を設定しようとしましたが、私が知る限り、効果はありません。 。つまり、まだエラーが発生します。

  3. 文字列の内容をテキストボックスに入れる前に、HTMLエンコードを使用してみました。これはディスプレイ上で機能します...しかし、問題の次の反復で失敗するという問題は修正されません。

  4. エラーをキャッチして無視することを考えましたが、コードビハインドを実行する前に検証が行われるようです。

分析を行うために実際にページをウィンドウに印刷する必要はありませんが、これらを一度に、またはスニペットで見ることができれば非常に役立ちます。ブラウザからページソースを作成するだけで済みます。よくわかりません...多分それが好ましい解決策です。

オプション#2が推奨される解決策のように思われるため、機能しなかったことに本当に驚いています。

これが私が使用するページディレクティブです:

validateRequestを停止するために他に何かする必要がありますか?

0 投票する
1 に答える
658 参照

asp.net - ValidateRequest - エラーを取得して現在のページに表示する

私はasp.netアプリケーションを持っていますが、に設定ValidateRequestするとfalse、常に標準エラーページが表示されることに気付きました。

カスタム エラー ページを表示できると聞きました。

しかし、エラーをキャッチして(ポストバック後に)表示されている現在のページに表示できるかどうかを知る必要があります。

これを行う方法はありますか?

0 投票する
3 に答える
7711 参照

c# - 特定のページの ValidateRequest を無効にする

友達 私は困っているので、あなたの助けが必要です。

ウェブサイトの管理セクションでデータベースを管理するために、HTML タグと一緒にデータを入力したいテキスト フィールドがほとんどありません。< BR /> などの HTML タグを追加するとすぐに、SQLDATASOURCE 更新により、「潜在的に危険な Request.Form 値がクライアントから検出されました」というエラーが表示されます。

すでにValidateRequest="false" を試しましたが、機能しませんでした スペースの問題により、AJAX エディターを使用できません。

httpRuntime requestValidationModeを使用すると、Web サイト全体の検証が無効になり、ハッカーに対して開かれます。

友人、管理セクションの特定のページに対してのみValidateRequestを無効にするにはどうすればよいですか

0 投票する
2 に答える
43276 参照

web-config - validateRequest と requestValidationMode は .net 2.0 では機能しません

IIS 7 で WCF サービスをホストしています。それらは .net バージョン 2.0 で実行されています。すべてが正常に機能しています。しかし、最近、「潜在的に危険なリクエスト...」というエラーリストが表示されます。インターネットで検索したところ、web.config をこのように設定する必要があることがわかりました。

web.config を更新しましたが、サービスを参照できません。このエラーが発生しています。

パーサー エラー メッセージ: 属性 'requestValidationMode' を認識できません。属性名は大文字と小文字が区別されることに注意してください。

このエラーを解決するのを手伝ってください。ありがとう、ヴィベク

0 投票する
1 に答える
114 参照

asp.net-mvc-3 - モデル レベルでの ValidateRequest

モデルで ValidateRequest を設定する方法を見つける必要があります... Web 構成レベルで ValidateRequest を false に設定できることは理解しています... しかし、アプリケーション レベルではそうしたくありません。モデル レベルでは、WebForms では ValidateRequest ページ ディレクティブ属性を使用して false に設定できましたが、MVC では "ValidateRequest = false" を使用してコントローラー レベルでそれを行うことができます...しかし、私がやりたいことはこの属性をモデル レベルで適用する方法がある場合....アプリケーションのさまざまな場所でモデルを使用したいため...ビューで使用するたびに「ValidateRequest」を設定したくない...

どんな助けでも大歓迎です...

0 投票する
1 に答える
656 参照

c# - .net を 4.0 に変更した後、ValidateRequest が機能しなくなった

.Net 4.5 から 4 に変更すると、このエラーが発生します

エラーは次のとおりです:「潜在的に危険な Request.Form 値がクライアントから検出されました」

私の 4.5 ソリューションでは、aspx ページの上部に "ValidateRequest="false"" があります。しかし、それはもううまくいかないようです。

エラーが表示される理由はわかっていますが、エラーを消す方法はわかりません。

0 投票する
4 に答える
14661 参照

asp.net - ValidateRequest="false"の代替

設定以外に「潜在的に危険なRequest.Form値がクライアントから検出されました」というエラーを防ぐ方法はありますValidateRequest="false"か?

更新:「ページ上」の部分を削除しました。ValidateRequest="false"ページやweb.configではまったく使用したくない。