jquery 跨域登录 windows.location 跳转丢失session解决办法
摘要:常用的 jqeruy跨域登录 无非是 通过ashx 请求 登录信息 登录成功 则写入session 然后 客户端跳转到登录成功后界面。但是ie浏览器出现一个问题 就是session丢失 其他…
常用的 jqeruy跨域登录 无非是 通过ashx 请求 登录信息 登录成功 则写入session 然后 客户端跳转到登录成功后界面。
但是ie浏览器出现一个问题 就是session丢失 其他浏览器无这种情况。
纠结了 N天找到了 最好的解决方法。
原因
IE6浏览器支持的P3P(Platform for Privacy Preferences Project (P3P) specification)协议默认阻止第三方无隐私安全声明的
cookie,Firefox和谷歌浏览器目前还不支持P3P安全特性,所以自然也不存在此问题了。Mircosoft对此的具体描述可以参见 Privacy in
http://www.microsoft.com/china/windowsxp/pro/using/howto/security/ie6.mspx
那如何解决?
输出P3P的主机头声明。
一般处理程序中的代码如下
context.Session["username"] = Username;//创建seesion 这是 在ashx界面创建session的方法//
context.Response.AppendHeader("P3P", "CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR");//修改网页头信息
代码的意思 应该是降低了安全 具体我也不清楚 反正可以解决这个问题。




