Symfony CSRF域和子域

时间:2018-03-14 16:51:08

标签: symfony csrf csrf-protection

我对Symfony的CSRF保护有疑问。

当我登录域toto.com时,它可以工作,但是当我尝试连接到域test.toto.com时(相同的服务器,相同的代码,它只是重定向到toto.com) ),我有一个错误' CSRF无效令牌'。

你知道我怎么能解决这个问题吗?在推送应用程序之前,如何测试应用程序?你有子域吗?

谢谢。

[编辑 - 18/04/03]

补充:

framework:
    session:
        cookie_domain: xxxx.com

在我的config_prod.yml文件中。它无法正常工作

[编辑v2 - 18/04/03 - 工作]

framework
    trusted_hosts:  ['toto.com', 'test.toto.com']
    session:
        cookie_domain: .toto.com
        save_path:   "%kernel.root_dir%/../var/sessions/"
        cookie_lifetime: 31536000
        name: totosessionid

看起来它在工作。

谢谢。

2 个答案:

答案 0 :(得分:2)

您可以尝试在config(for framework)中设置cookie_domain,save_path:和name:。

答案 1 :(得分:0)

要包含域及其子域,您应该使用以下语法:

framework:
    session:
        cookie_domain: .xxxx.com

其他语法可能会导致特定浏览器出现问题(主要是旧IE,我记得)。