改造sa实现不同镜像分享COOKIE

这个想法来源很简单。

弄了5个以上不同的镜像,但是在公司和在家登录的时候有时候是到移动镜像suddymail.org上,有时候到电信镜像tel.suddymail.org上。搞的每次都要重新登录次。不爽。

 

修改也很简单,利用了下setcookie中的domain参数

范例如下: setcookie($key$value$time,'/',$domain);

其中设置domain为 $domain ".suddymail.org";

这样,子域下都能获取到cookie。

 

另个问题点在于设置了多了同名不同域的cookie

setcookie('test''test1'$time,'/','.suddymail.org');


setcookie('test''test2'$time,'/','.aaa.suddymail.org');

这样,在aaa.suddymail.org的子域下,读取到的test值却是test1.

多次测试发现,得到的值和setcookie的顺序有关。即在本地的时候。cookie会存储他对应的域,但是发送的时候,如上面的cookie,发送模式如下:

test=test1test=test2;

而php接收的使用的$_COOKIE['test']只查到第一个匹配名字的。

无奈偶的米上suddymail.org与aaa.suddymail.org是两个不同站,为了不让两者的cookie起冲突,导致一台机器上在suddymail.org上的AA用户和aaa.suddymail.org上的BB用户的cookie混乱的问题。想了半天还是没好的方法,最后用了一种最土的,更换cookie的名字

$cookie1 'test1';


setcookie($cookie1'test2'$time,'/','.aaa.suddymail.org');

然后不同站的文件里通过配置文件配$cookie1 勉强算解决问题吧。虽然很土。

修改的两个文件如下附件:

code.rar

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):