Facebookのように別のユーザーを「友達を追加」できるWebを開発しています。今のところ、リンクを貼り付けてクリックすると、AJAX呼び出しが行われます。Symfony3でAJAXコールにCSRF保護を追加する方法は?
新しい友情を維持する前に、リクエストがAjaxであるかどうかを確認しますが、さらに進んでセキュリティを強化したいと考えています。ページは10以上のリンク(ポーズ可能なリクエスト)を持つことができるので、... 1つのトークン、またはリンクごとのトークンが必要かどうかわかりません。
もう1つ疑わしいです... symfonyを使用してトークンを生成し、有効かどうかをチェックする方法はありますか?最初のコントローラーでのトークンの生成方法と、(ajax呼び出しを受け取る)addFriendコントローラーでの検証方法に焦点を当てました。
私はトークンを生成するためにこれを使用してみました:
そして、このトークンを確認するには:
https://symfony.com/doc/current/controller/csrf_token_validation.html
しかし、常にトークンがではないことを返します有効です。
フォームを通常のSymfonyフォームとして作成し、それをテンプレートにロードし、フォームをajax経由で送信します。それは他のSymfonyフォームのようにCSRFトークンを持っています –
ありがとうございますが、私はフォーム要素を持たないフォームを作成するのは悪い習慣です。 –
CSRFトークンの要素があります。他の隠されたフィールドがあるかもしれません。悪い習慣ではなく、symfonyフレームワークを意図した方法で使っています –