CSRF 令牌无效。请尝试重新提交表格

2024-07-01

每次尝试提交表单时,我都会收到此错误消息:

CSRF 令牌无效。请尝试重新提交表格

我的表单代码是这样的:

<form novalidate action="{{path('signup_index')}}" method="post" {{form_enctype(form)}} role="form" class="form-horizontal">
    <div class="form-group">
        {{ form_label(form.email, 'Email', {'label_attr': {'class': 'col-md-1 control-label'}}) }}
        {{ form_widget(form.email, {'attr': {'class': 'col-md-2'}}) }}
        {{ form_errors(form.email) }}
    </div>

    <div class="form-group">
        {{ form_label(form.nickname, 'Nickname', {'label_attr': {'class': 'col-md-1 control-label'}}) }}
        {{ form_widget(form.nickname, {'attr':{'class': 'col-md-2'}}) }}
        {{ form_errors(form.nickname, {'attr': {'class': 'col-md-3'}}) }}
    </div>
    <div class="form-group">
        {{ form_label(form.password, 'password', {'label_attr': {'class': 'col-md-1 control-label'}}) }}
        {{ form_widget(form.password, {'attr': {'class': 'col-md-2'}}) }}
        {{ form_errors(form.password, {'attr': {'class': 'col-md-3'}}) }}
    </div>

    <div class="form-group">
        {{ form_label(form.password_repeat, 'Repeat password', {'label_attr': {'class': 'col-md-1 control-label'}}) }}
        {{ form_widget(form.password_repeat, {'attr':{'class': 'col-md-2'}}) }}
        {{ form_errors(form.password_repeat, {'attr': {'class': 'col-md-3'}}) }}
    </div>
    <div class="form-group">
        <div class="col-md-1 control-label">
        <input type="submit" value="submit">
    </div>

    </div>
</form>

有任何想法吗?


您需要添加_token以你的形式,即

{{ form_row(form._token) }}

截至目前,您的表单缺少 CSRF 令牌字段。如果您使用 twig 表单函数来渲染表单,例如form(form)这将自动为您渲染 CSRF 令牌字段,但您的代码显示您正在使用原始 HTML 渲染表单,例如<form></form>,因此您必须手动渲染该字段。

或者,只需添加{{ form_rest(form) }}在表单的结束标记之前。

根据文档

这将渲染尚未为给定渲染的所有字段 形式。最好将其始终放在表单中的某个位置 因为它会为您呈现隐藏字段并创建您忘记的任何字段 渲染得更明显(因为它会为您渲染该字段)。

form_rest(视图,变量) http://symfony.com/doc/current/reference/forms/twig_reference.html#form-rest-view-variables

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSRF 令牌无效。请尝试重新提交表格 的相关文章

  • 如何使用 preg_match 在数组中搜索?

    如何使用 preg match 在数组中搜索 Example 在这篇文章中 我将为您提供三种不同的方法来完成您的要求 我实际上建议使用最后一个片段 因为它最容易理解并且代码非常简洁 如何查看数组中哪些元素与我的正则表达式匹配 有一个函数专门
  • 请求参数和 phpdoc [重复]

    这个问题在这里已经有答案了 可能的重复 是否有记录 GET POST 参数的标准 https stackoverflow com questions 2121710 is there a standard for documenting g
  • 在 Apache 虚拟主机之间传输会话数据

    如何将 PHP 会话数据从一个 Apache 虚拟主机传递到另一台 我当前正在运行 Apache 2 2 17 和 PHP 5 3 3 并且我已经设置了一台主机来管理单点登录应用程序 我需要将其传递给运行单独应用程序的另外两台虚拟主机 这是
  • 使用 php 脚本从不同网站读取文件

    如何从完全不同的服务器读取文件的内容 然后显示内容 我稍后将更改代码以正确地使用返回的信息 您可以使用file get contents http php net file get contents or cURL http php net
  • Recaptcha - 表单定制

    有谁知道 recaptcha 是否可以在没有默认框架的情况下完全自定义 我需要验证码图像和输入字段只有一定的宽度 以前有人成功做到过吗 您可以使用 自定义 主题选项指定自定义标记 方法是在页面上包含类似以下内容 然后 您在页面上创建一个 d
  • 找不到 PHPUnit 的 TextUI/command.php

    我为我的 symfony2 项目安装了 phpunit 如下所示 如何使用从composer安装的phpunit https stackoverflow com questions 13764309 how to use phpunit i
  • 如何在另一个 php 脚本的后台运行 php 脚本(如更新按钮)

    当我按下 更新 按钮时 我将如何运行一个 php 脚本 然后它将运行脚本 x1 php 没有回显或其他输出 成功或失败 然后更新当前页面 我知道更新部分可以使用 ajax 完成 但我不确定如何以及如何让 x1 php 脚本在后台运行并在完成
  • 在 PHP 中格式化 JSON 格式的文本文件

    所以我得到了一个带有按钮的 HTML 页面 当我单击该按钮时 一个单独的 javascript 文件会向我的 PHP 文件发送 GET 请求 并期望返回 JSON 对象 我的 PHP 读取 JSON 格式的文本文件 并将其转换为 JSONO
  • codeigniter 分页错误[重复]

    这个问题在这里已经有答案了 在模型 rci model php中 public function record count return this gt db gt count all produk public function fetc
  • reCaptcha 值未出现在 $_POST 中

    我正在尝试在我的网站上使用 reCaptcha 并且 recaptcha challenge field 和 recaptcha response field 没有添加到后端的 POST 数组中 但我表单中的其余变量是 有任何想法吗 我已经
  • 以同样的方式根据编号对数组进行洗牌

    我正在运行一个测验制作网站 我希望以打乱的顺序向用户显示问题的答案 我试图avoid如果我要随机打乱答案 则存储向用户呈现答案的顺序 我想以可预测的方式打乱答案 这样我以后就可以用同样的方式重复随机播放 显示结果时 我认为我可以按某个数字对
  • 如何使用 PHP 访问关联数组中的值

    我有一个数组 它是使用 Amazon SimpleDb 进行选择查询的结果 这是我 print r result 时的示例数据 Array 0 gt Array Name gt 5140ede647e74 Attributes gt Arr
  • 如果仅登录facebook,则获取facebook用户 php sdk

    我想在 php sdk 中获取当前登录的 facebook 用户 这是我尝试过的 facebook new Facebook array appId gt XXXXXXXXXXX secret gt XXXXXXXXXXXXXXXXXXXX
  • phpMyAdmin 处理请求时出错错误代码:500 错误文本:内部服务器错误[重复]

    这个问题在这里已经有答案了 当我运行 phpMyAdmin 并单击导出 导入时 我总是收到错误 处理请求时出错 错误代码 500 错误文本 内部服务器错误 操作系统 Ubuntu 18 04 我遇到了问题 我的 php 版本是7 2 实际上
  • 通过 php 请求表单名称[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 当我提交表单时 我想从 php 检索
  • php脚本在某个页面停留几秒钟并重定向

    有没有办法让页面在 php 中显示几秒钟并重定向到另一个页面 元重定向可能是您想要的 但是您CAN在 PHP 中也执行此操作 如下所示 其中 10 是等待的秒数
  • PHP:创建边缘光滑的圆圈、图像或字体?

    我正在制作一个 PHP 图像脚本 它将在给定的半径处创建圆圈 I used 但讨厌它产生的粗糙边缘 所以我正在考虑制作或使用圆形字体 我将使用以下方式输出 这样字体就会产生一个边缘光滑的圆圈 我的问题是使 字体大小 与 半径大小 匹配 有任
  • 使用 AJAX 提交表单,将表单数据传递给 PHP,无需刷新页面 [重复]

    这个问题在这里已经有答案了 谁能告诉我为什么这段代码不起作用
  • PHP/MySQL:从 YYYY-MM-DD 转换为 DD 月,YYYY?

    我在 MySQL 表中有一个 DATE 列 它以以下格式表示日期 YYYY MM DD 我想使用 PHP 从数据库中检索日期 但显示如下 DD 月 YYYY 例如 从 2009 04 13 到 2009 年 4 月 13 日 女巫是最好的方
  • 有人可以向我指出一个好的 PHP/MySQL 加盐哈希密码实现吗?

    在阅读了盐密码哈希之后 我想为我正在构建的站点的管理区域实现一个简单的版本 如果您有任何很好的链接以及很好地实现了这个想法的代码 如果您能分享 我将不胜感激 Thanks 注册过程 用户输入密码 系统根据随机数据生成盐值 可能是时间和 PI

随机推荐