解决Iframe中session丢失问题

 

症状

<script type=text/javascript>loadTOCNode(1, 'symptoms');</script>
如果别的站点要在Iframe中使用本网站的时候会发现,本网站实际上是不能保存Session的,如何被frame的页面如果像访问自己站点的Session会发现这个Session实际上是null,例如本网站上有一个登录窗口login.aspx,登录窗口登录之后就导航到index.aspx页面,index.aspx页面的访问需要login.aspx创建的Session["userid"]的存在,当我的这个网站被别的网站frame的时候,我们可以发现在login.aspx实际上是可以创建Session的,但是当页面导航到index.aspx的时候却发现Session已经丢失了,这就导致登录失败。
 
原因
 
Internet Explorer 6 引入用于隐私首选项 (P3P) 项目平台支持,如果 FRAMESET 或父窗口引用其他站点内 FRAME 或内子窗口, 子站点认为第三方内容。 它使用默认隐私设置是 中型 , InternetExplorer自动拒绝 Cookie 来自第三方站点。
 
解决方法
 
1、把IE隐私级别设置为低,这个不好实现,不能要求用户改变设置。
2、IIS设置
在站点属性里选择HTTP头选项卡,在自定义Http头里点击添加按钮,在弹出的窗口中的"自定义HTTP头名"中输入 P3P, 在"自定义HTTP头值"中输入CP="CAO PSA OUR"
即可,此项设置可以单独应用于某个目录而不应用于整个站点。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值