LoginSignup
0
0

Neither the property "_token" nor one of the methods "_token()", "get_token()"/"is_token()"/"has_token()" or "__call()" exist and have public access in class "Symfony\Component\Form\FormView"

Last updated at Posted at 2023-11-21

CSRF保護が有効になっているのが原因

symfony 2.8 で作成されたウェブサイトを symfony 6 台で再構築している時に表題のエラーが表示されました。 Symfony では CSRF (クロスサイト リクエスト フォージェリ)からの保護がデフォルトで有効になっているようです。

通常のウェブサイトの運営であれば有効な方が良いとは思いますが、
今回は、ひとまず開発を先に進めるため旧サイトの設定(CSRF保護は無効)に合わせ、有効化についてはクライアントと相談する事にします。

①CSRF 保護有効/無効のパッケージをインストール

composer require symfony/security-csrf

②config/packages/framework.yaml の framework以下に csrf_protection: ~ を追加(CSFR保護の無効化)

config/packages/framework.yaml
framework:
    csrf_protection: ~

公式ドキュメント通りなのですが、エラーメッセージで検索してすぐに分からなかったので、投稿することにしました。

参考

CSRF 保護を実装する方法

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0