問題タブ [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.
c# - async foreach および IAsyncEnumerable とともに ActionResult を返す方法
私はこの署名のコントローラーメソッドを持っています:
正常に動作しますが、リクエストの検証を行い、それに応じて 401、400、およびその他のコードを返す必要がありますが、これはサポートされていません。または、次の署名はコンパイルされません。
エラー:
タイプ 'Microsoft.AspNetCore.Mvc.UnauthorizedResult' を 'MyApi.Responses.MyDto' に暗黙的に変換できません
完全な方法:
何か案は?IAsyncEnumerable
Microsoft が、他のものを返す可能性/柔軟性なしで使用するように設計されているとは信じられないようです。
python - webargs を使用して AWS ラムダでクエリ文字列パラメーターとリクエスト本文を検証する
AWS API ゲートウェイを使用して作成され、Python Lambda 関数によってサポートされている API のクエリ文字列パラメーターを検証する方法を見つけようとしています。API Gateway は、必要なクエリ文字列パラメーターの存在を検証できます。ただし、特定のパラメーターの長さが制限内にあるかどうかを判断するなどの追加の検証の方法を見つけることができませんでした (たとえば、config_id は最小 7 文字の長さである必要があります)。このような検証は、API Gateway 要求検証を使用して要求本文に対して可能です。このリンクを参照してください。ただし、クエリ文字列パラメーターの場合、検証に json スキーマを使用しないため、必要な/不要な検証のみが可能です。
したがって、この問題を克服するために、クエリ文字列パラメーターを検証するために Python で webargs モジュールを試すことにしました。通常、flask や django などの Python フレームワークを使用して作成された API のリクエスト検証に使用されます。次のようにコアパーサーを使用しています(webargs docを参照):
これは、検証がラムダ関数で行われる方法です。ただし、必要な検証のみが正しく機能します。長さ 5 の config_id を渡すと、エラーは返されず、さらにラムダ関数に進みます。
これで何が問題になる可能性がありますか?パーサーは機能しているように見えますが、検証機能は機能していません。私はこれが初めてなので、助けていただければ幸いです。また、特にqueryStringParametersのラムダ関数で検証を行うより良い方法はありますか? コードで処理できますが、多くのパラメーターと多くの API を使用できるため、そのようなすべての検証のコードを書くのは面倒な作業になります。webargs モジュールが便利です。
laravel - フィールド名にドット (ピリオド) を含む Laravel 検証リクエスト フィルター フィールド
ここでは、laravel でフォーム リクエストを検証します。リクエストにはフィルタが含まれており、フィルタのフィールド名にはピリオド(ドット)が存在します。
サンプル リクエスト URL
...?filter[entity.abc][]='値'
ここで、entity.abc は実際には文字列ですが、「filter.entity.abc」にルールが指定されている場合、laravel はそれをオブジェクトの配列と見なします。
これは実際には
したがって、2 番目のドットの正規表現を作成する必要があります。これは次と同等です。
無効なuuidが存在する場合でも、上記は常にtrueを返します
laravel - 郵便配達員のリクエストでLaravelリクエストの検証が機能しない
次のリクエストでは、ボディ パラメータが JSON として送信されると、常にリクエストが検証されますが (検証ルールがトリガーされないため)、フォームデータまたはフォーム urlencoded で送信されると、検証ルールを通過します。Laravelの制限ですか?
amazon-web-services - AWS API Gateway エラー - [429] この API のリクエストバリデーターの最大数に達しました
API に AWS API Gateway リクエスト検証機能を使用しています。詳細については、こちらのドキュメントをご覧ください。API をデプロイするために、サーバーレス フレームワークを使用しています。以下は、 serverless.yml のスニペットです。
エンドポイントはラムダ関数によってサポートされており、次のように定義されています。
現在、REST メソッドごとに 5 つのエンドポイント (POST、GET ID、GET All、PUT、PATCH) を持つ 8 つのエンティティがあります。これらのうち、リクエストバリデーターはメソッド POST、PUT、および PATCH にアタッチされています。したがって、リクエストバリデーターを使用するエンドポイントは合計 24 です。
サーバーレス デプロイを実行すると、次のエラー メッセージが表示されます。
クォータのドキュメントページには、リクエスト バリデーターの数に関する特定の制限については言及されていません。また、メソッドを増やしたいと考えているのですが、リクエストバリデーターを使った24個の関数で既に限界に達しているようです。
この制限を回避し、サーバーレス デプロイ コマンドが失敗しないようにするにはどうすればよいですか? また、許可されているリクエストバリデータの数を知っている人はいますか?
助けていただければ幸いです。前もって感謝します!
asp.net-core - 明示的な [AutoValidateAntiforgeryToken] がなくても、偽造防止トークンは自動的に追加されますか?
環境
VS 2019 ですぐに使えるテンプレートから新しい ASP.NET Core Razor ページ アプリケーションを作成した後、最も純粋なモデル クラスを使用した最も純粋な html フォームでさえ、出力を次のようにレンダリングすることに気付きました。<input name="__RequestVerificationToken" type="hidden" value="...">
質問
ASP.NET Core に偽造防止を追加するように指示する明示的な属性/ステートメントがどこかにありますか、それとも現在はこれが既定になっていますか? (これにより、使用が[AutoValidateAntiforgeryToken]
廃止されます)
...また...
それは常に無条件に<input name="__RequestVerificationToken" type="hidden" value="...">
レンダリングされるものであり、それに対してサーバー側の検証を有効にできますか? この場合、検証が有効かどうかをテストするにはどうすればよいですか?[AutoValidateAntiforgeryToken]
サンプルコード