小编Mis*_*aGH的帖子

Laravel在域和子域中共享cookie检测问题

我正在研究Laravel 5.4.30.

想象一下,我们有一个域example.com和一个子域dev.example.com.主域用于主分支,dev子域用于develop分支.我们有cookie通知系统,点击Hide Cookie Notice按钮后会隐藏.这通过永久设置cookie来实现.我们SESSION_DOMAIN为每个环境设置了每个域的配置.

对于主域名:

SESSION_DOMAIN=example.com
Run Code Online (Sandbox Code Playgroud)

对于dev子域:

SESSION_DOMAIN=dev.example.com
Run Code Online (Sandbox Code Playgroud)

现在问题来自这里.如果我们转到example.com并点击隐藏cookie通知,将为主域永久设置cookie.之后我们去做dev.example.com并做同样的事情.因此,也会为子域设置cookie.但是这个cookie已经在前一个之后设置了.(顺序很重要)现在,如果我们刷新子域,我们将再次看到通知!(未隐藏)由于浏览器中的cookie 参数.example.com设置,浏览器已读取主cookie domain,因此每个子域都会受到影响.但该视图仍然显示通知,因为它无法读取任何cookie以进行隐藏.

无论如何,我不想在所有子域中共享该cookie.我怎样才能做到这一点?我想我应该为cookie名称添加一个前缀.但我不知道怎么做,laravel会自动为cookie名称添加前缀.

有解决方案吗

cookies laravel

20
推荐指数
1
解决办法
1677
查看次数

标签 统计

cookies ×1

laravel ×1