• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > iframe跨域与session失效问题的解决办法

iframe跨域与session失效问题的解决办法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了iframe跨域,iframe跨域访问,jquery iframe跨域,js iframe 跨域访问,iframe跨域自适应高度等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

何为跨域跨域session/cookie?

也就是第三方session/cookie。第一方session/cookie指的是访客当前访问的网站给访客的浏览器设置的seesion /cookie, 会被存储在访客的计算机上。第三方session/cookie指的是当前访问的网站中会加载(嵌入)另外第三方的网站代码,例如促销广告,那么第三方网 站也会在访客的计算机上添加session/cookie,这种就是第三方session/cookie。

我的问题

在开发讯息在线产品(http://iap.pgia.net)测试各种浏览器的兼容性时,发现IE浏览器(v7\8)都无法登录(总是提示验证码不匹配错误),而其它浏览器无此问题(firefox、百度等)。因此可以断定这和浏览器脱不了干系。

初步分析:

细查发现,在使用IE浏览器(v7\8)访问时,服务器端日志中显示sessionId一直在变化,每次请求都会产生一个全新的sessionId.

显然这是导致无法登录的直接唯一原因,如果解决这个问题则可正常登录。

深入分析:

为什么在IE浏览器(v7\8)上会出现这种情况呢,百度了解后得知:

出于隐私安全的考虑,IE会丢失Iframe中的Cookie,IE6/IE7支持的P3P(Platform for Privacy Preferences Project (P3P) specification)协议默认阻止第三方无隐私安全声明的cookie,Firefox、Chrome 不存在此问题。

我们知道Session 其实就是基于Cookie的。客户端在第一次与服务器建立会话时,会分配给客户端一个随机的sessionId,并存于客户端cookie中,然后在之后的请求中,会带上这个Cookie,如果在客户端找不到这样的Cookie,那么服务器就会重新分配一个。

而我的应用结构恰恰如此,即内置一个iframe嵌入远程应用来实现的。

解决办法:

要解决这个问题就是要在请求时添加“P3P”协议。那么如何实现呢?

在框架页面加入如下代码:
</div>

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • iframe跨域与session失效问题的解决办法

相关文章

  • 2017-05-11asp.net 的错误处理机制讲解
  • 2017-05-11初识ASP.NET Mvc5+EF7的奇妙之旅
  • 2018-08-20.net core项目中常用的几款类库详解(值得收藏)
  • 2017-05-11ASP.NET编译执行常见错误及解决方法汇总
  • 2017-05-11ASP.NET常用小技巧
  • 2017-05-11asp.net中DBNull.Value,null,String.Empty区别浅析
  • 2017-05-11浅谈ASP.NET中最简单的自定义控件
  • 2017-05-11ASP.NET中DropDownList和ListBox实现两级联动功能
  • 2017-05-11ASP.NET中实现把Json数据转换为ADO.NET DataSet对象
  • 2017-05-11ASP.NET数据库编程之Access连接失败

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • ASP.NET 2.0 中的创建母版页
    • Asp.net 图片文件防盗链(尊重劳动成果)及BeginRequest事件学习
    • ASP.NET GridView中文本内容无法换行(自动换行/正常换行)
    • Centos7+Docker+Jenkins+ASP.NET Core 2.0自动化发布与部署的实现
    • ASP.NET MVC 导出Word报表
    • Visual Studio 2017 离线安装教程
    • ASP.NET Core配置教程之读取配置信息
    • asp.net下无法循环绑定投票的标题和选项的解决方法
    • ajaxToolkit:TextBoxWatermarkExtender演示与实现代码
    • ASP.NET中Validation验证控件正则表达式特殊符号的说明

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有