如何在CGI :: Session中更改域名?

时间:2015-05-20 13:46:33

标签: perl session cookies dns cgi

我想使用CGI :: Session模块来实现我的网站会话。 我希望以适合我想要的域的方式更改会话cookie。

例如,我有两个网站www.mysite.comdev.mysite.com

在这种情况下,我希望会话cookie域为mysite.com

我尝试过使用该模块,但它只保留了脚本的域名,我想更改它。

有办法吗?因为我查看了文档并且没有找到任何内容。

1 个答案:

答案 0 :(得分:2)

首先,如果您希望Cookie对www.mysite.comdev.mysite.com都可见,则Cookie必须与.mysite.com绑定,而不是mysite.com。< / p>

关于这个问题。

print $session->header( ... );

被记录为

的快捷方式
my $cookie = CGI::Cookie->new(
   -name  => $session->name,
   -value => $session->id,
);
print $cgi->header( -cookie => $cookie, ... );

所以你可以使用

my $cookie = CGI::Cookie->new(
   -name   => $session->name,
   -value  => $session->id,
   -domain => '.mysite.com',
);
print $cgi->header( -cookie => $cookie );