Csrf значение недопустимо пожалуйста попробуйте повторить отправку формы что значит
Вам нужно добавить _token в свою форму, т.е.
Или просто добавьте << form_rest(form) >> перед закрывающим тегом формы.
Это отображает все поля, которые еще не были отображены для данной формы. Это хорошая идея, чтобы всегда иметь это где-то внутри вашей формы, поскольку он будет отображать скрытые поля для вас и сделает любые поля, которые вы забыли, более очевидными (так как это будет отображать поле для вас).
Также вы можете увидеть это сообщение об ошибке, если в вашей форме много элементов.
Эта опция в php.ini вызывает проблему
Проблема в том, что поле _token пропускает запрос PUT (GET), поэтому вам нужно увеличить значение.
Также это касается больших файлов. Увеличение
Вариант решит проблему.
Это происходит потому, что формы по умолчанию содержат защиту CSRF, которая в некоторых случаях не требуется.
Вы можете отключить эту защиту CSRF в своем классе формы в методе getDefaultOptions следующим образом:
Если вы не хотите отключать защиту CSRF, вам необходимо отобразить поле защиты CSRF в вашей форме. Это можно сделать, используя << form_rest(form) >> в вашем файле просмотра, например:
<< form_rest(form) >> отображает все поля, которые вы не ввели вручную.
Перед тегом поместите:
Он автоматически вставит другие важные (скрытые) входные данные.
У меня была эта проблема со странным поведением: очистка кеша браузера не устранила это, но очистка файлов cookie (то есть файла cookie идентификатора сеанса PHP) решила проблему.
Это необходимо сделать после проверки всех остальных ответов, включая подтверждение того, что у вас есть токен в скрытом поле ввода формы.
В дополнение к другим предложениям вы можете получить ошибки токена CSRF, если ваше хранилище сеанса не работает.
В недавнем случае мой коллега изменил ‘session_prefix’ на значение, в котором был пробел.
Это нарушило хранилище сеанса, что, в свою очередь, означало, что моя форма не могла получить токен CSRF из сеанса.
У меня недавно была эта ошибка. Оказалось, что мои настройки cookie были неправильными в config.yml. Добавление настроек cookie_path и cookie_domain в framework.session исправило это.
Недавно у меня была такая же проблема, и мой случай еще не упоминался здесь:
Возможно, что-то не так с сеансом при использовании Apache и localhost в качестве домена. Если кто-нибудь может уточнить в комментариях, я был бы счастлив отредактировать этот ответ, чтобы включить более подробную информацию.
Если вы не хотите использовать form_row или form_rest и просто хотите получить доступ к значению _token в вашем шаблоне веточки. Используйте следующее:
В моем случае у меня возникла проблема с аннотацией maxSize в сущности, поэтому я увеличил ее с 2048 до 20048.
Надеюсь, что этот ответ поможет!
Очевидно, решение состоит в том, чтобы удалить лишний закрывающий тег и, возможно, выпить еще кофе.
Я столкнулся с подобной проблемой. Убедившись, что поле токена действительно отображается (см. Принятый ответ), я проверил свои файлы cookie. В моем браузере Chrome было 2 (!) Файла cookie для домена, по-видимому, потому, что я запускал приложение в том же домене, что и другое приложение, но с другим портом (т.е. mydomain.com установил исходный файл cookie, пока работало приложение с ошибками на mydomain.com:123) Теперь очевидно, что Chrome отправил неправильный файл cookie, поэтому защита CSRF не смогла связать токен с правильным сеансом.
Исправление: очистите все файлы cookie для рассматриваемого домена, убедитесь, что вы не запускаете несколько приложений в одном домене с разными портами.
У меня была такая же ошибка, но в моем случае проблема заключалась в том, что мое приложение использовало несколько доменов первого уровня, в то время как файл cookie использовал один. Удаление cookie_domain: «.%domain%» из framework.session в config.yml привело к тому, что файлы cookie по умолчанию использовались в любом домене, в котором была форма, и это устранило проблему.
Вы должны помнить, что токен CSRF хранится в сеансе, поэтому эта проблема также может возникать из-за неправильной обработки сеанса. Если вы работаете на локальном хосте, проверьте, например, если домен cookie сеанса установлен правильно (в PHP он должен быть пустым на локальном хосте).
Похоже, это проблема при использовании начальной загрузки, если только вы не визуализируете форму с помощью <