原文链接

Cookie作用域

Cookie 在二级域名下是可以共享的,如www.a.com 和m.a.com 他们的Cookie 是可以共享的,这也是很多单点登录利用Cookie实现的原理,但是很多站点不是二级域名的如www.taobao.com和www.tmall.com,它们是完成两个不同的域名,那么完全不同的域名可以共享Cookie吗?答案是可以的,我们看一下实现思路。

跨域写Cookie

跨域写Cookie 的原理主要是利用html中的 《script>标签可以跨域获来实现的
现有a.com 和b.com 两个站点,可以通过Hosts文件配置,如下图所示

在b.com 中建立一个serlvet 负责写Cookie ,代码 如下:

@WebServlet("/SetCookie")
public class SetCookie extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String cookieName=request.getParameter("cookieName");String cookieValue=request.getParameter("cookieValue");response.addCookie(new Cookie(cookieName, cookieValue));response.getWriter().append("add Cookie");}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}
}

该Serlvet的访问地址为:http://b.com/ClientB/SetCookie?cookieName=userId&cookieValue=123458787456 主要作用就是获取请求中的cookieName和cookieValue 然后写到b.com中

在a.com 中添加一个index.html 页面,页面中代码 如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript"  src="http://b.com/ClientB/SetCookie?cookieName=userId&cookieValue=123458787456"/></head>
<body>
hello
</body>
</html>

这段代码主要是通过 《script》 标签访问b.com中的写Cookie接口,从而将Cookie 写到b.com中

测试

访问:http://a.com/ClientA/


查看b.com Cookie

跨域读Cookie

跨域读Cookie 主要利用《iframe》标签可以跨域的特性完成的。

  1. b.com 下有一个2.html 内容如下:
<html>
<head>
</head>
<body>
<script>window.location="http://a.com/ClientA/3.html?"+document.cookie;</script>
</body>
</html>

这段代码主要是将b.com下的所有cookie通过url参数方式跳转到a.com下的3.html

  1. a.com下有 1.html 内容如下:
<html>
<head>
</head>
<body><iframe src='http://b.com/ClientB/2.html' width='100' height='100'> </iframe><textarea id="zhaochao"></textarea>
</body>
</html>

这段代码主要作用是通过一个《iframe》标签访问b.com下的2.html

  1. a.com下有3.html 内容如下:
<html>
<head>
</head>
<body>
<script>window.parent.document.getElementById("zhaochao").value=window.location.toString().substring(window.location.toString().indexOf("?"));</script>
</body>
</html>

这段代码主要是将b.com下的2.html中的url参数写到 1.html中textarea中
防问http://a.com/ClientA/1.html 获取b.com下的所有Cookie

跨域读写Cookie相关推荐

  1. SSO跨域读写Cookie

    一. 单机模拟多域请求 - 配置本机host文件 C:\Windows\System32\drivers\etc\HOSTS 打开配置,最后处添加如下代码: 127.0.0.1 www.a.com ( ...

  2. java cookie 跨域读取_跨域读写Cookie

    Cookie作用域 Cookie 在二级域名下是可以共享的,如www.a.com 和m.a.com 他们的Cookie 是可以共享的,这也是很多单点登录利用Cookie实现的原理,但是很多站点不是二级 ...

  3. java跨域cookies_跨域读写Cookie

    Cookie作用域 Cookie 在二级域名下是可以共享的,如www.a.com 和m.a.com 他们的Cookie 是可以共享的,这也是很多单点登录利用Cookie实现的原理,但是很多站点不是二级 ...

  4. java cookie p3p_利用P3P实现单点登录和COOKIE的跨域读写

    首先说明,同一个顶级域名的情况我不说什么,很简单,就一个Cookie的Domain属性. 下面来说顶级域名不同的情况. 有时候我们会有这么一种需求:当我们登录A网站www.a.com时,同时也要能登录 ...

  5. 转载 - 通过设置P3P头来实现跨域访问COOKIE

    作者:老王 网上看了别人介绍的一片文章,说使用P3P可以完成跨域COOKIE操作,感觉很COOL,不过没有提供源代码,我胡乱写了一下,大家看看. 实际工作中,类似这样的要求很多,比如说,我们有两个域名 ...

  6. SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析

    最近在研究SSO单点登录技术,其中有一种就是通过js的跨域设置cookie来达到单点登录目的的,下面就已京东商城为例来解释下跨域设置cookie的过程 涉及的关键知识点: 1.jQuery ajax跨 ...

  7. php跨域单点登录,SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析...

    SSO单点登录技术,其中有一种就是通过js的跨域设置cookie来达到单点登录目的的,下面就已京东商城为例来解释下跨域设置cookie的过程 涉及的关键知识点: 1. 跨域redirect实例: te ...

  8. PHP 通过设置P3P头来实现跨域访问COOKIE

    我的是CentOS的系统(Linux 内核) 编辑HOST vi /etc/hosts 加入 127.0.0.1        www.a.com 127.0.0.1        www.b.com ...

  9. 关于跨域获取cookie问题的解决

    关于跨域获取cookie问题的解决 参考文章: (1)关于跨域获取cookie问题的解决 (2)https://www.cnblogs.com/whoamme/p/3598889.html 备忘一下.

最新文章

  1. android中仿qq最新版抽屉,Android实现3种侧滑效果(仿qq侧滑、抽屉侧滑、普通侧滑)...
  2. 算法----单链表反转
  3. ubuntu查看python版本-linux查看python安装路径,版本号
  4. 【Android 逆向】代码调试器开发 ( ptrace 函数 | 读寄存器 | 写寄存器 )
  5. mysql基础(3)-高级查询
  6. 钉钉提示请勿通过开发者调试模式_钉钉开放平台demo调试异常问题解决:hostname in certificate didn't match...
  7. 进击的UI------------------UISegmentedControlUISlide
  8. 互联网时代的十大特征和趋势
  9. oppo r17听筒测试软件,【OPPOR17评测】ColorOS变智能 OPPO R17堪称生活小秘书(全文)_OPPO R17(6GB RAM/全网通)_手机评测-中关村在线...
  10. 移动端H5设计稿的问题与解决办法汇总
  11. DS18B20温度传感器
  12. tbSchedule 使用
  13. 富文本编辑器Froala Editor v3.x 使用
  14. MyBatis Plus 联合查询
  15. Python制作简单的学生成绩管理系统
  16. 楚留香服务器维护,楚留香3月30日更新维护公告 楚留香手游更新内容一览
  17. java.lang.reflect.UndeclaredThrowableException
  18. 数据结构 hbb(汉堡包)
  19. ISIS如何选举DIS的,DIS的具体作用,和OSPF的DR有什么相同和不同点。举例说明
  20. 3.Python3标准库--数据结构

热门文章

  1. MIR 2022 反者道之动, 基于因果推断的可解释对抗防御
  2. Halcon一些功能算子
  3. 【旁门Python 01】什么是wheel包,如何去用它?
  4. ACM模板 | 学习笔记 树相关
  5. mysql 导出dmp文件_Linux环境下使用crontab实现mysql定时备份
  6. 完全背包与01背包的区别
  7. 一个int类型到底占多少个字节
  8. 香油和一个生鸡蛋,干咳偏方
  9. Windows窗体Winform----show()与showDialog()的区别
  10. Java程序朗读文字的实现,jacob.jar