ThinkPHP6 cookies有效域名如何设置?

tp6用的是子域名,前端用主域名,但tp6发送的cookies的有效域名是子域名,想改成主域名,前端也存了个同名的,想着后端发送的直接覆盖同名的,但现在多个了点,这是这么回事?

在 ThinkPHP6 中设置 cookie 的有效域名,可以使用 Cookie 类的 domain 方法来设置,它接受参数为有效的域名字符串。例如,你可以在控制器中这样设置:

use think\facade\Cookie;

$domain = 'example.com';
Cookie::domain($domain)->set('name', 'value');

这里将 example.com 设置成了该 Cookie 的有效域名,然后调用 set 方法来设置 Cookie。示例中的 namevalueCookie 的名称和值。

注意,如果你想将 Cookie 设为顶级域名(比如 .example.com),则需要在设置 domain 值时以一个点 . 开头,例如:

$domain = '.example.com';
Cookie::domain($domain)->set('name', 'value');

这里的 Cookie 将对 example.com 及其子域名生效。

同时,需要注意的是要在设置有效域名时,将该 Cookie 的作用范围限制在你想要的域名或者子域名中,可以避免出现安全问题。