热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

处理session跨域几种的方案

前面谈过session相关配置,在开发的时候,常需要跨域共用session的是登录模块,我相信很多开发的朋友的都遇到过,只需要一个地方登录,相关联的网站也是处于登录状态。两种情况:一种9streets.cn和a.9streets.cn之间,另一种是a.comb.com

前面谈过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的实例。


推荐阅读
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 如何在爱奇艺头条中关闭推送通知?
    许多用户可能不清楚如何在爱奇艺头条中关闭推送通知。本文将详细介绍关闭推送通知的步骤,帮助您更好地管理应用程序的通知设置。 ... [详细]
  • 本文深入探讨唐代诗人白居易的名作《紫毫笔》,通过对其原文的翻译和赏析,揭示了紫毫笔在古代文人墨客心中的特殊地位及其背后的文化意义。 ... [详细]
  • 近年来,随着互联网经济的迅猛发展,网约护士作为一种新型医疗服务模式逐渐崭露头角。这种模式不仅反映了政策的逐步开放,也揭示了市场需求的巨大潜力。传统医疗模式难以满足现代社会的多样化需求,网约护士因此应运而生。 ... [详细]
  • Java第四周作业:条件语句实践与分析
    本次作业主要围绕Java编程中的if语句展开,通过具体案例深入理解选择结构的使用方法。学生需要完成多个编程任务,并在博客中详细记录每道题目的题目、代码及运行结果。 ... [详细]
  • 本文介绍 PHP 函数 mysql_field_len 的使用方法,该函数用于返回 MySQL 查询结果集中指定字段的长度。适用于 PHP 4 和 PHP 5 版本。 ... [详细]
  • 本文介绍如何使用 Python 获取文件和图片的创建、修改及拍摄日期。通过多种方法,如 PIL 库的 _getexif() 函数和 os 模块的 getmtime() 和 stat() 方法,详细讲解了这些技术的应用场景和注意事项。 ... [详细]
  • OpenCV图像二值化技术详解
    图像二值化是将灰度图像中的像素点设置为0或255,从而形成黑白效果。在数字图像处理中,二值化技术不仅简化了图像数据,还突出了目标轮廓,具有重要应用价值。 ... [详细]
  • 2023亚运会英雄联盟赛程全解析
    2023年亚运会英雄联盟比赛已正式拉开帷幕,自8月27日起,各参赛队伍将展开激烈角逐。本文将详细解读比赛日程安排,帮助您更好地了解和观看这场电竞盛宴。 ... [详细]
  • 10月5日凌晨,欧洲冠军联赛小组赛A-D组的比赛落下帷幕,当晚诞生了两场令人震惊的惨败,同时还有多支豪门球队的关键胜利。 ... [详细]
  • 探讨了小型企业在构建安全网络和软件时所面临的挑战和机遇。本文介绍了如何通过合理的方法和工具,确保小型企业能够有效提升其软件的安全性,从而保护客户数据并增强市场竞争力。 ... [详细]
  • 探讨当前市场上最具性价比的移动5G套餐,提供详细的费用和流量分析。 ... [详细]
  • 在Python开发过程中,随着项目数量的增加,不同项目依赖于不同版本的库,容易引发依赖冲突。为了避免这些问题,并保持开发环境的整洁,可以使用Virtualenv和Virtualenvwrapper来创建和管理多个隔离的Python虚拟环境。 ... [详细]
  • 回顾2014年,我经历了多个重要项目和学习阶段,取得了一定的成绩。新的一年即将到来,希望能在更多项目实践中继续成长。 ... [详细]
author-avatar
小玲的夏天_905_735_602
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有