Symfony 注销错误“无效的 CSRF 令牌。”

问题描述 投票:0回答:1

我在 security.yaml 中有默认设置

    logout:
        # The route name the user can go to in order to logout
        path: logout
        # The name of the route to redirect to after logging out
        target: /login

        # Secure the logout against CSRF
        csrf_parameter: token
        csrf_token_generator: security.csrf.token_manager

并面临错误“无效的 CSRF 令牌”。当用户已经注销时尝试注销

从注销方法中删除 csrf 中间件可以吗?有更好的办法吗?

symfony csrf symfony6
1个回答
0
投票

注销 POST 请求上没有 CSRF 的风险是,攻击者可能通过访问攻击者的站点来欺骗用户注销。这个影响是相当低的。如果用户没有登录,为什么还要有会话 cookie?

就您而言,情况并非如此,听起来这只是一个空操作,所以实际上没有影响。如果您使用

SameSite=strict
cookie,那么 CSRF 令牌无论如何都是多余的。

© www.soinside.com 2019 - 2024. All rights reserved.