IE 第三方设置cookie失效

公司的产品,采用多服务分摊压力,中间必须涉及的当然是单点登陆。一般的单点登陆都是通过去用户中心登陆,302或页面回调的方式,返回到登陆前的页面。

公司项目,想用户体验更好些,采用弹框登陆,可以考虑iframe或者form提交方式。iframe需要解决跨域通信的问题,当然也是有解决方案的。form提交的话,就存在用户名密码错误提示,还是需要在用户中心处理。

最后选择了jsonp的方案跨域提交,这也有一些问题,安全方面用户名密码get方式传递,可以考虑加入签名,防止原始密码泄漏。

在使用jsonp方式登陆的时候,测试反馈,IE没有办法登陆,其他浏览器却是可以。第一反应就是第三方设置cookie失效,以前其实也是遇到过的。在需要设置cookie的第3方站点,设置p3p header头。

  response().addHeader("P3P", "CP=/"IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA/"");

  教主文章的提到的简约方式,没有试。

(蜗牛做广告系统的时候,也有人反应说是,那时候用的自己的跨域通信,一开始是以为window.name导致的问题,后来突然想起了,最近才看的教主的文章,原来是浏览器安全问题,需要设置p3p。)

时间: 2024-12-28 17:47:36

IE 第三方设置cookie失效的相关文章

java设置cookie的maxage在ie失效

由上图可以看出设置cookie的时候前两个使用Expires设置后一个使用Max-Age设置. 最终结果: ie下前两过期时间是设置的expires值,而最后一个在ie下却是有效期为当前的session. 解决方法:同时设置 Max-Age和Expires google浏览器和火狐是都可以的. 所以在设置cookie的时候应该两个设置. 另:IE下设置expires 会存在服务器端时间和客户端时间差 难免会影响时间.

设置cookie、读取cookie、删除cookie

假设有这样一种情况,在某个用例流程中,由A页面跳至B页面,若在A页面中采用JS用变量temp保存了某一变量的值,在B页面的时候,同样需要使 用JS来引用temp的变量值,对于JS中的全局变量或者静态变量的生命周期是有限的,当发生页面跳转或者页面关闭的时候,这些变量的值会重新载入,即没 有达到保存的效果.解决这个问题的最好的方案是采用cookie来保存该变量的值,那么如何来设置和读取cookie呢? 1.什么是Cookie "Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身

php设置cookie,在js中如何获取

在php中设置cookie. $email="[email protected]"; setcookie("y_email",$email,time()+3600,"/"); js中获取cookie function getCookie(c_name) { if (document.cookie.length>0) { c_start=document.cookie.indexOf(c_name + "=") if (c

javascript 设置cookie和取得cookie

代吗实例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>cookie</title> <script> function setCookie(name,value,expires,path,domain,secure) { var cookieName=encodeURIComponent

设置cookie的各种过期时间

设置cookie的各种过期时间 默认cookies失效时间是直到关闭浏览器,cookies失效,也可以指定cookies时间. Response.Cookies("user_name").Expires=Date+1 '指定cookie保存时间 保留COOKIES一个小时 Response.Cookies("MyCookie").Expires= (now()+1/24) Response.Cookies("MyCookie").Expires

javascript 设置cookie(转)

原文地址:http://www.cnblogs.com/xiaochaohuashengmi/archive/2010/06/13/1757658.html 设置cookie 每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie: document.cookie="userId=828"; 如果要一次存储多个名/值对,可以使用分号加空格(; )隔开,例如: document.cookie="userId=828; userName=h

Cookie工具类(获取cookie,设置cookie)

import java.io.UnsupportedEncodingException; import java.net.URLDecoder;import java.net.URLEncoder; import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger;i

04_HttpResponse对象及使用其设置cookie详解

HttpResponse 对象 Django服务器接收到客户端发送过来的请求后,会将提交上来的这些数据封装成一 个 HttpRequest 对象传给视图函数.那么视图函数在处理完相关的逻辑后,也需要返回一个响应 给浏览器.而这个响应,我们必须返回 HttpResponseBase 或者他的子类的对象. 而 HttpResponse 则是 HttpResponseBase 用得最多的子类.那么接下来就来介绍一 下 HttpResponse 及其子类 1. 常用属性 content:返回的内容. s

JS设置cookie,删除cookie(引)

JS设置cookie,删除cookie(引) js设置cookie有很多种方法. 第一种:(这个是w3c官网的代码) <script> //设置cookie function setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays*24*60*60*1000)); var expires = "expires="+d.toUTCString(); docum