多语言展示
当前在线:1783今日阅读:195今日分享:41

session跨目录,跨域名传递的解决方法

一个网站的域名下,多个同级的二级域名传递session,始终获取不到的原因是什么以及怎样才能在同级的二级域名下相互传递session呢
工具/原料
1

PHP

2

JavaScript

方法/步骤
1

一般来说,session在本地测试版的IP上,无论哪个web目录下的子文件夹都能获取得到的,但是给web下的子文件夹添加了二级域名后一般都不会获取得到了,这因为涉及了session跨域的问题了,同一个域名的二级域名dns解析的时候看起来是一样,其实是两个不同网站,因为我可以把一级域名的文件放在阿里云,一级域名下的二级域名的文件放在美橙互联

2

出现session跨域的问题网上的回答千奇百怪,好多都没有用,有用的还是修改session的Domain一般情况下就能成功的,修改session的domain有两种方法都一样,如果遇到修改domain还是没有用的特殊情况的话,那就只有写一个js的cookie,看看cookie你能不能传过过去

3

如果你写的js的cookie的值能传递过去,那么解决session获取不到的终极大法出现了,那就是把sessionid存放到cookie里面,让cookie传送过去,再在cookie里面取回sessionID,再打印session值,这样就传送过来了

4

如下图代码所示例如:p.xxx.cn下的文件return.php要传session给m.xxx.cn下的文件choujiang.php,就要在return.php把session用cookie保存起来session_start();setcookie('session_id',session_id(),time()+3600*24*365*10,'/','.365icar.cn');而接受choujiang.php就要把cookie中的session取出来,才能打印session其他的值session_id($_COOKIE['session_id']); session_start();echo'session的值'.$_SESSION['chongzhi'];

注意事项
1

劳逸结合,不要疲劳工作

2

一个工作硕事繁多的没有很多时间和精力人,为了分享一个微不足道的巧妙思路化那么多时间给大家,是多么不容易啊,请为我点赞

推荐信息