問題タブ [request-validation]

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 に答える
2229 参照

php - フォームリクエストにルール検証を追加するときのLaravel 5エラー:Container.php行776のReflectionException:クラスゲストが存在しません

コントローラー メソッドでリクエスト検証を使用すると、次のエラーが返されます。

Container.php 行 776 の ReflectionException: Class guest が存在しません

私のリクエストファイルは次のとおりです。

そして、私のコントローラーは次のとおりです。

私のリクエストは、ルートapi/registerによって呼び出されるstoreメソッドに対するものです。

POST ルールで配列のインデックスを削除すると、エラーが表示されません。

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

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

c# - MVC5 フレームワーク パイプラインで検証例外をトリガーできるもの

ここで質問するのが適切かどうかはわかりませんが、MVC5 を使用して文字列内に HTML を投稿するときに 1 つの問題に苦労しています。問題は、コントローラーが要求にヒットし、応答が送信されるようになると、ASP.NET MVC フレームワークで次のような検証エラーをトリガーできるものは他にあるでしょうか? :

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

現在の Web 要求の実行中に未処理の例外が生成されました。例外の発生元と場所に関する情報は、以下の例外スタック トレースを使用して特定できます。

スタックトレース:

[HttpRequestValidationException (0x80004005): 潜在的に危険な Request.Form 値がクライアントから検出されました messagebody=" html tags here ")。System.Web.HttpRequest.ValidateString(文字列値、文字列 collectionKey、RequestValidationSource requestCollection) +12339710
System.Web.HttpValueCollection.Get(文字列名) +90
System.Web.Caching.OutputCacheModule.CreateOutputCachedItemKey(文字列パス、HttpVerb 動詞、HttpContext コンテキスト、CachedVary cachedVary) +956 System.Web.Caching.OutputCacheModule.OnLeave(オブジェクト ソース、EventArgs eventArgs) +1212
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +92 System.Web.HttpApplication.ExecuteStep (IExecutionStep step, Boolean& completedSynchronously) +165

ASP.NET MVC の組み込み要求検証を認識しており、ビュー モデルのプロパティに[AllowHtml]次のような属性で注釈を付けました。

..そのため、コントローラーアクションに到達してオブジェクトに逆シリアル化するのに問題はありません。次に、コントローラーのアクションで、次のようにフレームワークが投稿されたメッセージのコンテンツを MyClassVM インスタンスに逆シリアル化するようにします。

ただし、private void Application_Error(object sender, EventArgs e)メソッドに到達し、Server.GetLastError(); その段階で、リクエスト内の html コードによる検証例外が含まれています。

なんで?コントローラがほぼその仕事を終えた後、何がその検証エラーを引き起こす可能性がありますか? 応答の途中にあるフィルター内の何かでしょうか? (いくつかのフィルターがありますが、それらはかなり基本的な認証フィルターのように見えます.Jsonシリアライザーを変更して日付があれば置き換えます..)。

また、デバッグ時に最後に確認できるコードは、System.Security.Principal.IIdentity にアクセスするいくつかのプロパティですが、それがどのように問題になるかわかりません..

更新:コントローラーのアクションの上部に [ValidateInput(false)] を追加しようとしましたが、違いはありません。潜在的に危険な Request.Form 値も検出され、例外がトリガーされます。

更新:コントローラーがヒットする前に実行されていたカスタムモデルバインダーも無効にしようとしました。しかし、うまくいきません。問題は、コントローラーのアクションが実行され、既に逆シリアル化されたポスト ビュー モデルからフィールドが適切に読み取られた後に発生する別の何かである必要があります。

ありがとうございました

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

orchardcms - Orchard CMS での HttpRequestValidationException

GitHub の Orchard 1.9 を使用して、次の場所に移動してページ検証の例外を強制しようとすると、

~/Users/Account/LogOn?ReturnUrl=<script%20src%3Dhttp%3A%2F%2Flocalhost%2Fj%20

最終結果は、Orchard カスタム例外メッセージではなく、イエロー スクリーン オブ デスです。

これを処理するために推奨されるオーチャードの方法は何ですか? 理想的には、オーチャードのエラー ページを表示したいと考えています。

参考までに、GET LogOn アクション (AccountController) には ValidateInput 属性がありませんが、POST アクションにはあります。

考えられる解決策:

web.config の customErrors 要素を、属性 defaultRedirect="Error.html" を持つように設定しました。ここで、Error.html は新しいファイルです。もちろん、これはオーチャードのエラー ページを表示するという当初の目標を満たしていません。

これは、特に GitHub リポジトリから最新の Orchard コードをプルして Orchard バージョンを更新することを考えている場合は特に、Orchard コア (web.config だけであっても) を変更するのが適切ではないため、適切ではないように思われます。

0 投票する
0 に答える
181 参照

c# - webapiでHttpRequestValidationExceptionを処理するには?

開発したエラー ハンドラからエラー メッセージを返したい。

無効な文字を含む URL がハンドラーに到達しないという最終的なケースがあります。これは、パイプラインの早い段階で処理されていると思われるためです。

このような URL の例: http://www.example.com/MyAction<script

この特殊文字を webApi でエレガントな方法で処理する方法はありますか? このためだけにカスタム ハンドラーを開発することは避けたいと思います。

私が試したこと:

  1. 実装void Application_Error(Object Sender, EventArgs e)していますが、うまくいきませんでした。Application_EndRequest でもエラーを取得できませんでした。

  2. requestPathInvalidCharacters の HttpRunTime 構成を操作しようとしましたが、うまくいきませんでした。

前もって感謝します。

編集:

そのため、 requestValidationMode="2.0" を HttpRunTime 構成に追加することで、目的を達成することができました。

今私の質問は:

このようにすることの欠点は何ですか?

0 投票する
0 に答える
876 参照

java - 入力 http 要求エンティティをサニタイズするにはどうすればよいですか?

セキュア アシストを使用してコードを確認したところ、この行の検証なしで信頼されていないデータが使用されていることがわかりました

null と空のチェックを実行して request.getContenttype() を検証しようとした場合でも、同じエラーが発生します。

この問題を解決するのを手伝ってください。前もって感謝します。

0 投票する
0 に答える
703 参照

asp.net-mvc - Sitecore / ASP.NET リクエストの検証が無効にならない

リクエストの検証をオフにできない理由を知っている人はいますか? 現在、Sitecore 8.1 でセットアップされた ASP.NET MVC アプリケーションを使用しています。

一部のデータをサイトコア データベースにインポートするために使用しているコントローラーでアクション メソッドを作成しました (詳細はこの質問の範囲外です)。

送信しているフィールドの 1 つに HTML マークアップが含まれているため、次のエラー メッセージが表示されます。

なんらかの理由で、この機能をオフにできません。

私は次のことを試しました:

  1. モデルの特定のプロパティに AllowHtml を追加しました。
  2. validateRequest="false" を使用して Web 構成にページ要素を追加しました
  3. httpRuntime 要素の属性 requestValidationMode="2.0" が設定されていることを確認
  4. はい、正しいアクションメソッドがヒットしていることを確認しました。POST から HTML マークアップを削除すると、成功します。
  5. [ValidateInput(false)] を Controller Action メソッドに追加しました。

A は他にどこを見ればよいか考えられません。アイデアはありますか?申し訳ありませんが、この質問が以前に投稿されたことは知っていますが、すべてを試しました。