Cookie少子域

时间:2016-02-05 20:53:34

标签: php codeigniter

我有网站

example.com

和cname子域

static.example.com

用于css / js / img文件,在标题

中加载没有cookie

即时使用codeigniter设置cookies,config.php

$cookie = array(
    'name'   => 'lang',
    'value'  => $lang,
    'expire' => '86500',
    'path'   => '/',
    'secure' => FALSE
);
set_cookie($cookie);

但是当我打开Goog​​le Chrome控制台时,它会将Cookie设置为 .example.com

一切都好吗?我的意思是这个cookie是为子域设置的吗?

我正在使用codeigniter内置cookie,我用自动加载器帮助器加载它。

并设置像这样的cookie

{{1}}

3 个答案:

答案 0 :(得分:0)

是的,这应该没问题。域上的初始.表示cookie适用于域和所有子域。如果Cookie域只是example.com,则不适用于static.example.com。看到 What does the dot prefix in the cookie domain mean?

答案 1 :(得分:0)

您通常应使用第二个域名(例如,Stack Exchange使用sstatic.net)。当你控制自己的cookie时,如果你正在使用谷歌分析这样的东西,他们通常会尽可能地设置cookie,你最终会把它当作一个煮熟的域。

答案 2 :(得分:0)

.domain.com上设置Cookie时,它对所有sudomains都有效。 如果您确实需要这样做,则必须使用www.domain.com并为www.domain.com明确设置Cookie

如果您有多个网站并且想要此功能,则可以注册另一个域名somecdn-lookalike-name.com,仅提供静态内容(使用nginx),并且因为您在.domain.com上设置了Cookie,您的新域名名字不会有任何。