gpt4 book ai didi

forms - 停止在身份验证时重新生成/使 CSRF 无效

转载 作者:行者123 更新时间:2023-12-04 01:15:13 25 4
gpt4 key购买 nike

我目前在我的页面上有表单,无论用户是否登录,它们都在那里。一旦用户登录,他们就会看到这些表单之一(使用 CSRF)。

问题是,如果在身份验证后出现此框,则 CSRF token 将失效。我通过允许自己在没有身份验证检查的情况下提交表单和$form->isValid() 来确认这一点。返回 true而登录后,它给了我 false错误如下:

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



我想有三种解决方案 - 阻止 Symfony 在身份验证时重新生成/使 CSRF token 无效,从这些表单中删除 CSRF token 或在身份验证后生成我的表单(但是,我宁愿避免这种情况)。我目前的解决方案是通过身份验证传递一个新的 CSRF token 并设置表单 token input值(value)。

附加 : 有谁知道如何查看当前分配的所有CSRF token ? session 似乎没有举行。

最佳答案

通常的方法是,当有人成功登录时,整个页面都会刷新,因为可能会显示不同的数据,并为用户定制。

但是,如果你真的不想这样做,你说:

My current solution is to pass a new CSRF token back with the authentication and set forms token input value.



就这样做吧。没有什么不妥。

关于forms - 停止在身份验证时重新生成/使 CSRF 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18147681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com