Cookie 真是一个伟大的发明,它允许 web 开发者保留他们的用户的登录状态。然而,当你的站点或网络有一个以上的域名时就会出现问题了。
在 Cookie 规范上说,一个 cookie 只能用于一个域名,不能够发给其它的域名。因此,如果在浏览器中对一个域名设置了一个 cookie,这个 cookie 对于其它的域名将无效。如果你想让你的用户从你的站点中的其中一个进行登录,同时也可以在其它域名上进行登录,这可真是一个大难题。
我的解决方案将使用下面的一般框架:
一个预置的脚本将用来接受通过 GET 或 COOKIE 方式传递过来的 sessionid 号。它将比 COOKIE 优先选择 GET 变量。所以,无论何时需要引用交叉的域名时,我们把 sessionid 做为一个 URL 参数进行发送。修改 Apache 配置,用来实现重写所有的交叉域名的 cookie。这样做的原因一会儿就会清楚了。在任何时候出现一个交叉域名引用时使用变量。
第一步:创建预置脚本
将下面的代码加到预置脚本中(或出现在所有脚本之前的函数中)。
?php/* ...[ 查看全文 ]2016-02-19 标签: