3

私の知る限り、フォームが送信されたときにヘッダーフィールドを設定することはできません.ajaxリクエストでのみ行うことができます

この質問は、それが不可能であることも示しています。

しかし、クロスサイト リクエスト フォージェリ (CSRF) 防止チート シートを読むと、次のことが言及されています。

暗号化されたトークン パターン

概要

暗号化トークン パターンは、比較ではなく暗号化を利用したトークン検証方法です。認証が成功すると、サーバーは、サーバーでのみ使用可能な一意のキーを使用して、ユーザーの ID、タイムスタンプ値、および nonce で構成される一意のトークンを生成します。このトークンはクライアントに返され、隠しフィールドに埋め込まれます。後続の AJAX 要求では、Double-Submit パターンと同様の方法で、要求ヘッダーにこのトークンが含まれます。 非 AJAX フォームベースのリクエストでは、非表示フィールドにトークンが暗黙的に保持されますが、このような場合はカスタム HTTP ヘッダーにこのデータを保持することをお勧めします。このリクエストを受信すると、サーバーはトークンの値を読み取り、トークンの作成に使用されたのと同じキーで復号化します。

この文は私を混乱させます:

このような場合は、このデータをカスタム HTTP ヘッダーに永続化することをお勧めします

誰かがそれに光を当てることができますか?

4

1 に答える 1

2

はい、この文は、AUTH ヘッダーを挿入するために、POST 操作がカスタム JavaScript ハンドラーによって呼び出されることを意味します。この見落としを反映するために、OWASP の説明を修正しました。

于 2015-06-26T07:34:15.340 に答える