`

jsp p3p跨域设置cookie - 翻过这座山,就到菩提洞了

阅读更多

网上现在有很多关于跨域设置cookie的文章,但大多数都是php的文章,网上仍然有很多关于jsp p3p的设置,但是必须要将浏览器的隐私设置成低才可以跨域设置cookie.查了n多文章发现他们都搞错了!(真郁闷死了,自己没有解决干什么要贴在自己的博客中?!害得我好惨!^@^)
下面是一个例子:
首先在hosts文件中设置(其中的192.168.73.1为您本机的ip,我写成127.0.0.1不行,可能是公司的域的设置问题)
192.168.73.1       www.a.com
192.168.73.1       www.b.com
[1]编写文件
b_setcookie.jsp

Java代码 复制代码
  1. <%@ page contentType="text/html; charset=utf-8" %>   
  2. <%    
  3.    response.addHeader("Cache-Control""no-cache");   
  4.    response.addHeader("Expires""Thu, 01 Jan 1970 00:00:01 GMT");    
  5.    String ssocookie="www.sso12345678910.com";   
  6.  %>   
  7. <script src="http://www.a.com/mp/test/a_setcookie.jsp?id=<%=ssocookie%>">   
  8. </script>  
<%@ page contentType="text/html; charset=utf-8" %>
<%
response.addHeader("Cache-Control", "no-cache");
response.addHeader("Expires", "Thu, 01 Jan 1970 00:00:01 GMT");
String ssocookie="www.sso12345678910.com";
%>
<script src="http://www.a.com/mp/test/a_setcookie.jsp?id=<%=ssocookie%>">
</script>


a_setcookie.jsp

Java代码 复制代码
  1. <%   
  2. response.setHeader("P3P","CP=\"CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR\"");   
  3. String domainId=request.getParameter("id");   
  4. Cookie _cookie=new Cookie("test",domainId);   
  5. _cookie.setMaxAge(30*60*100);    
  6. _cookie.setPath("/");   
  7. response.addCookie(_cookie);   
  8. %>  
<%
response.setHeader("P3P","CP=\"CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR\"");
String domainId=request.getParameter("id");
Cookie _cookie=new Cookie("test",domainId);
_cookie.setMaxAge(30*60*100);
_cookie.setPath("/");
response.addCookie(_cookie);
%>


a_getcookie.jsp

Java代码 复制代码
  1. <%@ page contentType="text/html; charset=utf-8" %>   
  2. <%   
  3.    Cookie cookies[]=request.getCookies(); // 将适用目录下所有Cookie读入并存入cookies数组中   
  4.     
  5.    Cookie sCookie=null;    
  6.    String sname=null;   
  7.    String name=null;   
  8.    if(cookies==null// 如果没有任何cookie   
  9.      out.print("none any cookie");   
  10.    else  
  11.    {   
  12.      out.print(cookies.length + "<br>");   
  13.      for(int i=0;i<cookies.length; i++) // 循环列出所有可用的Cookie   
  14.      {   
  15.        sCookie=cookies[i];   
  16.        sname=sCookie.getName();   
  17.        name = sCookie.getValue();   
  18.        out.println("comment==>>>"+sCookie.getComment()+"\n");   
  19.        out.println("getDomain==>>>"+sCookie.getDomain()+"\n");   
  20.        out.println("getSecure==>>"+sCookie.getSecure()+"\n");   
  21.        out.println("getVersion==>>"+sCookie.getVersion()+"\n");   
  22.        out.println("cookiename==>>"+sname + "->" + "cookievalue==>>>"+name + "<br>");   
  23.      }   
  24.    }    
  25. %>  

 

 

测试时依次请求
http://www.b.com/mp/test/b_setcookie.jsp
http://www.a.com/mp/test/a_getcookie.jsp
便可看到通过跨域设置的cookie的值!

 

 

 

 

个人签名

-------------------------------------

 

图盾 淘宝保护 保护图片 图片防盗

 

分享到:
评论

相关推荐

    Nginx跨域设置Access-Control-Allow-Origin无效的解决办法

    使用大家说的以下配置,验证无效,跨域问题仍然存在 add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'GET,...

    谷歌跨域插件Access-Control-Allow-Origin

    标题中的“谷歌跨域插件Access-Control-Allow-Origin”指的是在谷歌浏览器上使用的扩展程序,用于解决Web开发过程中遇到的跨域问题。跨域是由于浏览器的同源策略(Same-origin policy)引起的,它限制了来自不同源的...

    跨域访问---------

    这个方式是有局限性的,因为不同浏览器的跨域设置不相同,甚至相同浏览器不同版本的设置都可能不同,我自己现在都只知道chrome的跨域设置,IE和firefox的看过,但是记不住了,总之,设置浏览器跨域,只适合临时用...

    P3P 和 跨域 (cross-domain) cookie 访问(读取和设置)

    例如,在IE浏览器中,若要在跨域情况下设置cookie,可以通过在服务器端的响应头中添加P3P策略声明,这样浏览器就能根据P3P声明的隐私政策来决定是否允许跨域cookie访问。 根据提供的文档内容,实现跨域cookie设置的...

    axios中cookie跨域及相关配置示例详解

    本文将详细讲解如何在Axios中配置Cookie跨域以及相关的后端设置。 首先,我们要明确一点:默认情况下,Axios在发起跨域请求时并不会携带Cookie。这是因为浏览器的安全策略限制,为了防止跨站脚本攻击(Cross-Site ...

    Dubbox跨域请求、Cookie设置

    【标题】"Dubbox跨域请求、Cookie设置"所涉及的知识点主要集中在分布式服务框架Dubbo的跨域问题处理和Cookie的配置上。Dubbox是阿里巴巴开源的一个基于Dubbo的扩展,提供了更多的特性,如REST支持、Zookeeper注册...

    P3P Header解决Cookie跨域的问题

    P3P  P3P是一種被稱為個人隱私安全平臺項目(the ... 當頁面存在iframe時,想要獲取iframe框架裏面的cookie,就要在iframe相應的動態頁面裏面添加P3P Header信息,否則在IE下獲取不到。因為IE有安全策略,限制頁面不

    js+jsp+json+tomcat跨域访问

    在IT行业中,跨域访问是Web开发中一个重要的概念,特别是在使用JavaScript、JSP、JSON以及前端库如jQuery时。本教程将详细讲解如何利用这些技术实现跨域数据交互。 首先,我们需要理解“跨域”这个术语。在浏览器的...

    arcgis server10.2跨域(cors-filter-1.7,java-property-utils-1.9)

    在这个场景中,我们关注的是如何解决ArcGIS Server在处理跨域请求时的问题,这涉及到Web开发中的一个重要概念——跨域资源共享(CORS)。 跨域是Web浏览器为了安全起见实施的一种策略,限制了JavaScript从一个源...

    跨域访问解决方案,关于跨域访问cookie的资料

    为了解决这一问题,并确保在跨域场景下可以正确地处理Cookie信息,本文将详细介绍几种常用的跨域访问解决方案及其在处理Cookie方面的应用。 #### 一、跨域访问解决方案概述 跨域访问是指一个域名下的文档或脚本...

    谷歌跨域插件allow-cors-access-control.zip

    标题中的“谷歌跨域插件allow-cors-access-control.zip”指的是一个用于解决浏览器跨域问题的Chrome插件。跨域资源共享(CORS)是一种机制,它允许Web应用程序从不同的源请求资源,比如JavaScript通过Ajax从非同源的...

    跨域访问数据-DEMO

    在这个DEMO中,`iis_envoy_domain_services`和`iis_envoy_domain_main`可能就是配置代理服务的文件,Envoy作为中间层,接收客户端请求,然后转发到目标服务器获取数据,再将结果返回给客户端,这样就实现了跨域访问...

    TOMCAT 跨域 CORS Access-Control-Allow-Origin cors-filter

    标题“TOMCAT 跨域 CORS Access-Control-Allow-Origin cors-filter”提及的是在Tomcat服务器上实现CORS策略的一种方式,主要涉及到`Access-Control-Allow-Origin`这个关键的响应头。 `Access-Control-Allow-Origin`...

    session跨域的共享--更改配置

    这意味着在一个域名下设置的session cookie,在另一个域名下不可用,除非采取特定的跨域策略。 ### 二、实现Session的跨域共享 为了实现session的跨域共享,我们需要对PHP的配置文件php.ini进行相应的修改,确保...

    跨域资源共享CORS协议介绍

    跨域资源共享(CORS)是一种安全机制,允许一个域(网站)上的Web应用访问另一个域上的资源。随着Web应用变得越来越复杂,为了增强用户体验,经常需要在一个域名下发起对另一个域名的HTTP请求。CORS的出现解决了...

    跨域、cors-filter-1.7、java-property-utils-1.9

    在Web开发中,跨域(Cross-Origin Resource Sharing, CORS)是一个关键的概念,它涉及到浏览器的安全策略,限制了JavaScript从一个源获取资源到另一个源。为了克服这个限制,开发者需要使用CORS机制。本文将深入探讨...

    跨域携带cookie案例.rar

    本文将深入探讨“跨域携带cookie”的案例,重点解析如何通过nginx服务器解决这一问题。首先,我们需要理解什么是跨域以及为什么会有跨域限制。 跨域是指浏览器的同源策略,即JavaScript只能访问与当前页面同协议、...

Global site tag (gtag.js) - Google Analytics