Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 如何在CGI::Session中更改域?_Perl_Session_Cookies_Dns_Cgi - Fatal编程技术网

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

Perl 如何在CGI::Session中更改域?,perl,session,cookies,dns,cgi,Perl,Session,Cookies,Dns,Cgi,我想使用CGI::Session模块来实现我的网站会话。 我想更改会话cookie,使其适合我想要的域 例如,我有两个网站,www.mysite.com和dev.mysite.com 在本例中,我希望会话cookie域为mysite.com 我试图使用该模块,但它只保留脚本的域,我想更改它 有办法吗?因为我查看了文档,没有发现任何东西。首先,如果您希望cookie对www.mysite.com和dev.mysite.com都可见,cookie需要绑定到.mysite.com,而不是mysite.

我想使用CGI::Session模块来实现我的网站会话。 我想更改会话cookie,使其适合我想要的域

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

在本例中,我希望会话cookie域为
mysite.com

我试图使用该模块,但它只保留脚本的域,我想更改它


有办法吗?因为我查看了文档,没有发现任何东西。

首先,如果您希望cookie对
www.mysite.com
dev.mysite.com
都可见,cookie需要绑定到
.mysite.com
,而不是
mysite.com

关于这个问题

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 );