填写您的邮件地址,订阅我们的精彩内容:

WordPress COOKIE DOMAIN 子域名下用户登录效果

574

这是一个关于服务器、浏览器的问题,关于cookie的跨域问题我们在本文不作过多介绍,总之,为了安全起见,cookie只在特定的域名下才生效。

WordPress中也是这样,我们可以找到WordPress内核中有关cookie的一些函数,它的参数中都要求有一个域。不过对于不同的服务器而言,可能WordPress的默认设置又有些不同。

据一些资料上显示,WordPress的默认设置是:

define('COOKIE_DOMAIN', '.example.com');

这就是说,WordPress中的cookie在example.com及其所有子域名中都是有效的,例如你在自己的主站登录了,然后在子域名中的这个登录信息也同样有效。

不过这种没有域名限定的设置会带来一些安全问题,例如你把子域名开放给所有用户,部分用户在一个子域名下设置了和另外一个子域名一模一样的cookie(虽然这种情况比较少),就有可能造成登录信息混乱,甚至出现你可以登录别人的账号的情况。

因此,很多人建议在wp-config.php中增加一句为:

define('COOKIE_DOMAIN', 'www.example.com');

从而让cookie只能在这个域名下生效。

不过有些时候我们也需要cookie在一些子域名下生效,以实现一些特殊要求。这种情况一般你完全掌控自己的这些子域名,并且这些子域名使用同一个数据库,不至于出现上面说的串线问题。

下面我简单说几句