「でもこれだけだと、不正なフロントエンドからもアクセスできちゃうんじゃないですか?偽物のフロントエンドにもトークンを要求する実装をしておけば、バックエンドへアクセスできるようになっちゃうんじゃないですか?」と。 あれれ?たしかに(・∀・;)・・・いやいや、違いますよ! バックエンドに正規のフロントエンドの情報が設定されているのが肝 ここで重要なのは、CSRFトークンは正規のフロントエンドかどうかをチェックしてから返されるという点です。 誰ふり構わずCSRFトークンを返していては、質問のとおり、まったく意味がありません。偽物フロントエンドからのトークン要求にも答えてしまっては、不正なフロントエンドからもバックエンドへアクセスできてしまいます。これではトークンの意味がないですよね。 なので、バックエンドはCSRFトークンを要求されると、正規のフロントエンドから要求されているかを確認するようにし