当前位置: 首页 > 知识库问答 >
问题:

Symfony 3.0.1 CSRF令牌存在但无效

后烨煜
2023-03-14

我有一个新的Symfony 3.0的奇怪问题。1安装。我用一个包含url和标题的表单PostType生成了一个新的CRUD控制器。没什么特别的。

表单按预期呈现。它包含我的url字段和标题字段。表单内部还呈现隐藏的输入字段_标记。

提交此表单时,我始终收到以下错误:

The CSRF token is invalid. Please try to resubmit the form.

所以令牌被添加到表单中,它包含一个值,我有一个常量PHP会话cookie值,它只是使这个令牌无效。

我已经搜索了其他答案,但类似的问题都是由于缺少a_代币输入造成的。

Symfony 3.0中也会出现此问题。2/3.0.3.

共有3个答案

年光明
2023-03-14

我用的是symfony3.2。它在一台机器上工作,但在另一台机器上不工作。不知道为什么。

@Shrihari他的回答让我想到了以下解决办法

我的项目还有cookie\u secure:true。我更新了config_dev.yml并将cookie\u secure:false添加到文件中。

framework:
    session:
        cookie_secure: false

这对我有用。

曾元忠
2023-03-14

我刚刚在Symfony 3.2上遇到了类似的问题

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

几个小时后,我们终于发现问题与会话有关。cookie_安全(https):

我们的生产环境使用https,因此强制通过https保护cookie。开发环境使用http。将开发人员从HTTP移动到HTTPS后,问题得到了解决。

施宏大
2023-03-14

在我的例子中,是var/会话/文件夹不可写。默认值是var/会话,设置为config.yml.

session:
    # http://symfony.com/doc/current/reference/configuration/framework.html#handler-id
    handler_id:  session.handler.native_file
    save_path:   "%kernel.root_dir%/../var/sessions/%kernel.environment%"

确保您有var/文件夹可写。

chmod 775 -R var/sessions/
chmod 775 -R var/log/
chmod 775 -R var/cache/
 类似资料:
  • 问题内容: 尝试为变量分配值时出现问题。当我尝试按以下顺序将日期作为元组或列表时,问题就会出现: 为什么要打apping? 我如何解决它? 令牌在Python中是什么意思? 问题答案: 在Python 3中,数字前导零是不允许的。例如: 等是不允许的,但应改为和。 但是,在Python 2中,前导零表示该数字是一个 八进制数 (以8为底),因此,或分别表示和,并且以八进制表示,但由于它不是有效的八

  • 我有一个计划的WebJob,每天运行,检查数据库中所有用户的密码过期日期。如果密码到期日是今天,它将生成密码重置令牌并通过电子邮件发送给用户。然后用户单击电子邮件中的url,并被带到一个网站,在那里输入新密码。 我设法在我的WebWork中生成一个令牌,并通过电子邮件发送。但是,通过我的Asp重置密码时。NET网站我得到无效令牌。我不明白为什么。我假设它一定与我的WebWork中的令牌提供商有关。

  • 我正在实现一个需要身份验证的REST服务。我正在使用JWT。 现在,Android应用程序在登录时发送一个请求,获得一个令牌,并且必须在每个后续请求的头中发送令牌。 我的问题是,如何存储令牌,或者我应该将其存储在哪里? 共享偏好 SQLite数据库 归档 最好的做法是什么?还是我完全错了?

  • 我正在用Django和angular构建一个应用程序。目前,我正在本地存储上存储后端发布的JWT。但是,我担心XSS攻击。我应该使用仅HTTP cookie存储令牌吗?我还考虑将令牌存储在auth服务类的变量字段中。但我不能完全确定angular是否在整个应用程序中共享该服务。我的身份验证服务是否只有一个实例?

  • 我遵循本教程使用JWT令牌。令牌到期时间设置为仅5分钟,但如果我想在使用1分钟后使令牌无效,该怎么办?我希望能够对API进行调用,以删除我的令牌。 我正在使用Express和Node。 从我能收集到的信息来看,我的选择是拥有一个存储令牌的令牌db。当我想让我的令牌过期时,我会从DB中过期/删除该令牌。 我还看到人们随意地说“移除”物理硬盘空间中的令牌,但我无法找出令牌的物理存储位置,以便我移除它。

  • 我正在尝试从应用程序服务中获取Google的刷新令牌,但我不能。 日志说 2016-11-04T00:04:25 PID[500]收到的详细请求:获取https://noteappsvr.azurewebsites.net/.auth/login/google?access _ type = offline 2016-11-04t 00:04:25 PID[500]从https://account