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在一些子域名下生效,以实现一些特殊要求。这种情况一般你完全掌控自己的这些子域名,并且这些子域名使用同一个数据库,不至于出现上面说的串线问题。
时间: 2024-10-11 02:21:20