处理session跨域几种的方案
来源:互联网 发布:c语言sdl小游戏 编辑:程序博客网 时间:2024/06/06 05:45
前面谈过session相关配置,在开发的时候,常需要跨域共用session的是登录模块,我相信很多开发的朋友的都遇到过,只需要一个地方登录,相关联的网站也是处于登录状态。两种情况:一种9streets.cn和a.9streets.cn之间,另一种是a.com b.com之间,这几天总结了一下处理方法。
无论是一二级域名,和不同域名下的跨域,无非要达到两点:1.客户端访问同一个sessionId,2.所有域名对应的服务器访问的session的数据的位置必须一致。
1.访问共同的sessionId主要是通过把当前的sessionId写进cookie里面
cookie在不同域名下是不能访问的,我们需要在访问在后台设置用户在登录的时候,把需要共用的登录信息的域名,如果是在1,2级域名下,直接把cookie设置为所属主域名,例如:setcookie("session_id",session_id(),time()+3600*24*365*10,"/",".a.com");
也许你会问:如果是在不同的域名呢?采用P3P技术简单解决,实现原理,在访问网站x.com的时候,y.com程序触发y.com文件的写入sessionid值,sessionid值便可以获取,然后把seesion值存入数据库,取相同的sessionid值便可。这就要求y.com里面的程序文件必需能跨域访问,默认情况下,浏览器是不能跨域设置cookie的,加上p3p头后才行。在对应php文件加上:header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');
2.session数据存储位置一致的实现方法
session该数据默认情况下是存放在服务器的tmp文件下的,是以文件形式存在,而非存储在服务器的内存中,在这里我们得修改为所有域下都能访问的方式。网上介绍了数据库存储,文件形式存储,内存存储, 如果用数据库存储session数据,网站的访问量很大的话,SESSION 的读写会频繁地对数据库进行操作,效率就会明显降低,可以考虑存在内存服务器来实现,下面的session.rar里面介绍的是数据库存session的实例。
下面的红色sesession文件是摸索加上网上的一些介绍总结出来,是具体的实例实现介绍,有需要的朋友可以点击下载,希望此文章能帮到你:
session.rar
无论是一二级域名,和不同域名下的跨域,无非要达到两点:1.客户端访问同一个sessionId,2.所有域名对应的服务器访问的session的数据的位置必须一致。
1.访问共同的sessionId主要是通过把当前的sessionId写进cookie里面
cookie在不同域名下是不能访问的,我们需要在访问在后台设置用户在登录的时候,把需要共用的登录信息的域名,如果是在1,2级域名下,直接把cookie设置为所属主域名,例如:setcookie("session_id",session_id(),time()+3600*24*365*10,"/",".a.com");
也许你会问:如果是在不同的域名呢?采用P3P技术简单解决,实现原理,在访问网站x.com的时候,y.com程序触发y.com文件的写入sessionid值,sessionid值便可以获取,然后把seesion值存入数据库,取相同的sessionid值便可。这就要求y.com里面的程序文件必需能跨域访问,默认情况下,浏览器是不能跨域设置cookie的,加上p3p头后才行。在对应php文件加上:header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');
2.session数据存储位置一致的实现方法
session该数据默认情况下是存放在服务器的tmp文件下的,是以文件形式存在,而非存储在服务器的内存中,在这里我们得修改为所有域下都能访问的方式。网上介绍了数据库存储,文件形式存储,内存存储, 如果用数据库存储session数据,网站的访问量很大的话,SESSION 的读写会频繁地对数据库进行操作,效率就会明显降低,可以考虑存在内存服务器来实现,下面的session.rar里面介绍的是数据库存session的实例。
下面的红色sesession文件是摸索加上网上的一些介绍总结出来,是具体的实例实现介绍,有需要的朋友可以点击下载,希望此文章能帮到你:
session.rar
- 处理session跨域几种的方案
- 处理session跨域几种的方案
- 分布式session处理方案
- 分布式session处理方案
- 分布式session处理方案
- 分布式session处理方案
- 分布式session处理方案
- DWR session过期处理方案
- DWR session过期处理方案
- ASP.NET处理Session过期的几种方案
- flex的“session”代替方案
- 集群session共享方案(有shiro共享session的方案)
- Session的事物处理
- session 的周期处理
- ZF2的Session处理
- JFinal的session处理
- ssh_status的session处理
- ajax请求时session已过期处理方案
- JVM内存溢出监控
- 文件操作 FILE结构体(C语言版) (转)
- 西班牙母猩猩沉迷色情片 可熟练使用遥控器
- UNIX 网络编程
- 【译】10个鲜为人知的C#关键字
- 处理session跨域几种的方案
- Ten sentences that will give you courage
- erlang四大behaviour之一gen_server
- C Export 读书笔记
- MySQL主从复制与读写分离
- 澳大利亚兽医伏特加酒当点滴救活给中毒小狗
- LinuxC/C++编程基础(31) 使用thrift/rpc开发简单实例(续3)
- 黑客反击战(全)
- 关于游戏中的特效