Symfony CSRF 域和子域
Symfony CSRF domain and subdomain
我对 Symfony 的 CSRF 保护有疑问。
当我登录到域 toto.com 时,它可以工作,但是当我尝试连接到域 test 时。toto.com(相同的服务器,相同的代码,它只是重定向到 toto.com),我有一个错误 'CSRF Invalid token'。
你知道我怎么解决这个问题吗?在将应用程序推向产品之前,您如何测试它们?你有子域吗?
谢谢。
[编辑 - 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
看起来它在工作。
谢谢。
您可以尝试在配置中设置 cookie_domain、save_path: 和 name:(对于框架)。
要包含域及其子域,您应该使用以下语法:
framework:
session:
cookie_domain: .xxxx.com
其他语法可能会导致特定浏览器出现问题(据我所知,主要是旧的 IE)。
我对 Symfony 的 CSRF 保护有疑问。
当我登录到域 toto.com 时,它可以工作,但是当我尝试连接到域 test 时。toto.com(相同的服务器,相同的代码,它只是重定向到 toto.com),我有一个错误 'CSRF Invalid token'。
你知道我怎么解决这个问题吗?在将应用程序推向产品之前,您如何测试它们?你有子域吗?
谢谢。
[编辑 - 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
看起来它在工作。
谢谢。
您可以尝试在配置中设置 cookie_domain、save_path: 和 name:(对于框架)。
要包含域及其子域,您应该使用以下语法:
framework:
session:
cookie_domain: .xxxx.com
其他语法可能会导致特定浏览器出现问题(据我所知,主要是旧的 IE)。