笑青天的专栏

最近在做通行证功能,即单点登陆!即用户从登陆后,自动登陆、注销!

实现该功能有二种途径:

1.基于数据库(在此不讨论)

2.基于Cookie

由于某种原因需要使用Cookie来实现信息同步,基于安全性考虑,默认情况下浏览器不允许访问域外的资源(Cookie等),所以不能以跨域的形式来直接访问另外一个域的cookie。有没有可能使2个域共享一个cookie文件呢?不可能!那么有没有变通的办法呢?有的,也就是在浏览a域页面的同时,隐藏去执行一下b域的某个页面,而b域的某个页面所做的动作为生成cookie,这样不就把cookie保存至b域中了吗?

一、环境设置

1.打开X:/WINDOWS/system32/drivers/etc(X 为系统安装路径)

2.用记事本打开hosts,在

127.0.0.1 localhost下添写二行记录

192.168.18.104 192.168.18.104

二、代码编写

工作流程

a域通过script来访问b域的接口文件,b域接口文件通过接收a域传入的参数来实现对b域cookie的写操作

1.编写b域的接口文件,命名为b_setcookie.php

2.创建a域下的文件test.php,并使用脚本来调用b域的b_setcookie.php

3.测试

在FireFox中输入,就会发现有b域的cookie文件生成了

在FireFox下使用工具->选项->隐私->使用自定义历史记录设置->显示Cookie

这里有一个问题,如果用IE等浏览器执行时,就不能生成b域的Cookie,这时我们需要在b_setcookie.php中加一句话

,那么威尼斯就是一艘轻盈和流动的舟船,

笑青天的专栏

相关文章:

你感兴趣的文章:

标签云: