【发布时间】:2017-10-14 17:25:53
【问题描述】:
我正在构建一个具有两个域(sub1.domain.com 和 sub2.domain.com)的系统。这两个域使用完全相同的系统。我使用两个域的唯一原因是为了让用户更清楚地了解名称。
在 sub1.domain.com 上一切正常,但在 sub2.domain.com 上我收到 CSRF TokenMismatch 错误。
我尝试以两种不同的方式实现 CORS,制作 my own middleware 和使用 standard composer package for laravel。 这两个解决方案似乎不起作用。
我还尝试在config/session.php 中定义一个域。 (子域和顶级域)。但是当我尝试这样做时,整个登录停止工作,我被重定向回登录页面而没有任何消息。 (使用错误凭据时我确实收到了错误消息)
一些想法?
提前致谢!
【问题讨论】:
-
我相信这正是 CSRF 所保护的。它要么保护你自己免受 CSRF 的伤害,要么让它按照你的方式工作。
-
是的,但他们使用完全相同的代码库,它只是第二个域名。它是链接到同一目录的两个 vHost。我认为双方的 csrf 逻辑是相同的。 csrf 也适用于我的本地域和我的公共域,而无需更改任何内容。
标签: php laravel csrf multiple-domains