私はcsrfトークンを配置する場所が複数あることを知っています。最も一般的な場所は、フォームの非表示の入力フィールドに配置することです。 2つ目は、httpOnlyフラグが設定されたCookieです。私が知りたいのは、データを変更するためにpostリクエストが行われるたびに使用できるように、それをjavascript変数に配置することに反対があることです。
それ以外の場合は、フォームごとにフォームの非表示フィールドに配置する必要があり、フォームが動的に生成されると問題が発生する可能性があります。
JavaScriptを介してフォームにCSRFトークンを動的に追加できます。ただし、いくつかの問題に注意する必要があります。
無関係:CSRFトークンは常に2つの場所にある必要があります。最も一般的なアプローチは、それらをセッション内のサーバー側に格納し、さらに別の場所に格納することです(たとえば、フォームで送信するなど)。それはあなたがあなたの質問で言及しているもののようです。このアプローチでは、トークンをフォームではなくCookieに保存することはできません(常に送信され、サーバー側のトークンに対して検証されます)。トークンをサーバー側に格納する代わりに、Cookieにトークンを格納することになります。あなたはまだそれを例えばフォーム経由で提出する必要があります。