iframe

IE iframe cookie问题(p3p)

寵の児 提交于 2020-03-02 19:08:05
前段时间碰到一个问题,就是在IE下,使用iFrame嵌入页面时,该页面的会话级别的cookie无法写入,导致服务端始终无法获取JSESSIONID,每次都是产生一个新的,使得Session无法使用。 只需要设置 P3P HTTP Header,在隐含 iframe 里面跨域设置 cookie 就可以成功。 ASP直接在头部加了头部申明,测试有效。 <%Response.AddHeader "P3P", "CP=CAO PSA OUR"%> PHP的话,应该是如下写法: header('P3P: CP=CAO PSA OUR'); ASP.NET的话 通过在代码上加Response.AddHeader("P3P", "CP=CAO PSA OUR")或者在Window服务中将ASP.NET State Service 启动。 JSP: response.setHeader("P3P","CP=CAO PSA OUR") 一、关于IE6 IFrame或Frame中读写cookie的问题分析 IE6加入了以PlatformforPrivacyPreferences(P3P)为基础的 隐私保护功能,有关此功能的说明请参阅“” 在ie6中Cookie被分成了first party cookie和third party cookie,即第一方Cookie和第三方Cookie

iframe跨域session丢失问题

对着背影说爱祢 提交于 2020-03-02 18:40:16
在做项目的时候,碰到一个很棘手的问题。在一个应用中通过iframe的方式嵌入另一web应用,但是session中明明放了值,但是就是死活获取不到。几经周折,终于皇天不负有心人,总算找到了关键命脉所在。 最近在做一个系统(A),需要在系统(A)中集成目前现存系统(B)的功能。 当然,系统(B)功能在访问时做了登陆限制。(一般性都是:系统登陆后把userId放入session中,在具体的功能页面加入session中userId的判断, 如果session中userId不存在,则跳到登陆页,否则继续加载并正常显示功能。) 那么,在系统(A)中要访问系统(B)的功能无非是要绕过系统(B)的登陆。(一般的做法是先跳转到系统(B)中的一个页面,在这个页面里将userId塞入session中, 再自动跳转到实际要访问的功能页面) 以上做法,在不使用框架结构时,是可行的,确切的说是很简单的。 但是如果,系统(A)使用了框架结构,即系统(B)中的功能页面要嵌入到系统(A)的框架中,则会出现一些意想不到的问题, 确切说是系统(B)跳转到了登陆页面,session丢失了。 为什么会这样呢? 因为应用需求在一个页面的不同frame下面访问不同的域,结果造成了session丢失。 问题根源: IE6/IE7支持的P3P(Platform for Privacy Preferences Project

同一IP不同端口访问的站点iframe应用session丢失怎么办?

自作多情 提交于 2020-03-02 18:19:53
在网站群的建设中,各子站需要共享主站的footer等公共信息。同时主站的后台管理也集成了各子站的管理,采取的方式是使用 iframe 嵌入各站的页面。在本机开发环境中,没有出现任何的问题。但是一放到测试环境中,便遇到 session 丢失的问题。 环境:应用服务器采用tomcat6.0,各个站点单独使用一个应用服务器,部署在一台物理服务器上。外部访问采用同一个IP,但是不同的端口。 起初以为,IE它的安全策略默认是会把iframe中的页面站点认为是不可信任的,它会阻止该站点传过来的 cookie (如果你在iframe中的URL跳转是用的localhost,则不会被阻挡),所以因为没法使用cookie了,session便失效了。解决的方法是在过滤器,或者被嵌入的页面内加入属性为P3P的header信息。 java 为:response.addHeader("P3P","CP=CAO PSA OUR");但是依然没有成功。网上的解决方案都是这么说,况且自己以前还弄过,都成功过,这次怎么弄都不好。 今天脑子安静下来,仔细的分析这里面的原因。如果是IE的安全限制,但是火狐、google浏览器没有这样的限制,为什么这两个浏览器也出现这样的情况。这肯定不仅仅和跨域引起的P3P的安全问题有关。于是在本机测试,通过iframe引入测试环境中的链接,设置了P3P,发现一切正常。这就更说明了

跨域(一)

*爱你&永不变心* 提交于 2020-03-02 13:20:34
什么是跨域 要了解跨域,先要说说同源策略。同源策略是由 Netscape 公司提出的一个著名的安全策略,所有支持 JavaScript 的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。当页面在执行一个脚本时会检查访问的资源是否同源,如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。 同源策略一般又分为以下两种: DOM同源策略:禁止对不同源页面DOM进行操作。这里主要场景是iframe跨域的情况,不同域名的iframe是限制互相访问的。 XmlHttpRequest同源策略:禁止使用XHR对象向不同源的服务器地址发起HTTP请求。 跨域,指的是从一个域名去请求另外一个域名的资源。即跨域名请求!跨域时,浏览器不能执行其他域名网站的脚本,是由浏览器的同源策略造成的,是浏览器施加的安全限制。 跨域解决方案 通过jsonp跨域 document.domain + iframe跨域 location.hash + iframe window.name + iframe跨域 postMessage跨域 跨域资源共享(CORS) nginx代理跨域 nodejs中间件代理跨域 WebSocket协议跨域 方法一:jsonp 1、使用jquery的getJSON()方法,需要注意的是,url中要添加一个参数:callback=? var id_number =

HTML常见问题

╄→尐↘猪︶ㄣ 提交于 2020-03-02 11:10:42
HTML语义化 解释:用正确的标签做正确的事 作用: 对人,增强可读性,便于开发人员理解网页内容和样式 对机器,利于SEO和网络爬虫爬取信息,利于读屏软件 常见语义化标签 <p> , <header> , <address> , <footer> 移动端 <meta viewport> < meta name = "viewport" content = "width=device-width,initail-scale=1.0,maxinum-scale=1.0,mininim-scale=1.0,user-scalable=no" > width=device-width ,屏幕宽度 initail-scale ,初始比例 maxinum-scale 最大比例 mininim-scale 最小比例 user-scalable 是否允许用户缩放 块级元素、行内元素、空元素 CSS规定,元素的 display 属性决定元素时块级元素或行内元素。块级元素为 block ,行内元素为 inline ,本身没有内容的为空元素 常见块级元素 div , p , li , ul , ol 常见行内元素 span , b , img , input 常见空元素 input , img , br , hr 文档标记类型 <!DOCTYPE> 文档标记类型,用于声明正确的HTML版本

如何在文章内容中加入iframe标签

五迷三道 提交于 2020-03-02 04:54:33
Joomla! 默认会自动删除文章中“不安全”的 HTML 代码,例如 iframe 就是。 通过修改安全设置可以改变这个特性。 进入后台的“内容 -> 文章管理”,然后点击右上角工具栏上的“统一参数”,找到 “过滤选项”这一节,在“过滤组”这里选中你所在的用户群组(例如“超级管理员”),然后在下面的“过滤类型”选择为“白名单”。这样,你刚刚选择的这个用户群组就可以在文章的 HTML 源代码模式中插入任何 HTML 源代码。 有的编辑器还自带了 HTML 代码过滤功能。如 TinyMCE 我自己刚刚成功在文章中插入了 iframe 标记,我测试时用的编辑器是 JoomlaCK editor for Joomla 1.5 。 有些编辑器插件自身也有 HTML 代码过滤设置,必须到编辑器的插件参数里面去看看。 JCE有专门的iframe插件,可以使用。 1)后台-全局设置-网站-默认编辑器,选择JCE的编辑器 2)登录前台,在个人资料中,默认编辑器选择JCE 来源: oschina 链接: https://my.oschina.net/u/220395/blog/38834

页面跳转 iframe嵌套问题

本秂侑毒 提交于 2020-03-02 04:50:25
背景:登录的时候,我们后台会进行验证,如果session过期,一般会跳转到登录页面,这里使用的iframe页面又被嵌套了一层 可以在登录界面/主界面加如下代码处理: if(window !=window.top){ window.top.location=location; } 或者 if(window !=top){ top.location.href=location.href; } 注意: top.location.href:是最外层的页面跳转 window.location.href、location.href:是本页面跳转 location是window对象的属性,而所有的网页下的对象都是属于window作用链中(这是顶级作用域),所以可以使用时省掉window,而top是指向顶级窗口对象,parent是指向父级窗口对象 widow.location是window对象的属性,而window.open是window对象的方法 window.location是你对象当前浏览器窗口URL地址对象的仓考 window.open是用来打开一个新窗口函数 window.open()可以在一个网站上打开另外一个网站的地址,而window.location()是只能在一个网站中打开本网站的网页。 window.location或window.open如何指定target?

如何让ajaxfileupload.js支持IE9,IE10,并可以传递多个参数?

穿精又带淫゛_ 提交于 2020-03-01 02:47:08
exception : SCRIPT5022: DOM Exception: INVALID_CHARACTER_ERR (5) 思路分析: 第一步:兼容IE9,firefox,Opera,Safari等浏览器; var iframe = document.createElement("iframe"); iframe.setAttribute("id", "yui-history-iframe"); iframe.setAttribute("src", "../../images/defaults/transparent-pixel.gif"); iframe.setAttribute("style","position:absolute;top:0;left:0;width:1px;height:1px;visibility:hidden;") 第二步:兼容IE6-8:由于ie6-8 不能修改iframe的name属性 var oFrame = isIE ? document.createElement("<iframe name=/"" + this._FrameName + "/">") : document.createElement("iframe"); oFrame.name = "iframName"; 1、如何让ajaxfileupload.js支持IE9

HTML框架

你。 提交于 2020-02-29 14:15:33
目录 HTML框架 iframe标签 iframe标签的高度和宽度属性 iframe的边框属性 HTML框架 iframe标签 框架的作用在于:可以在一个浏览器窗口中显示不止一个页面。 <iframe>标签规定一个 内联 框架。 内联框架功能:用于在当前html文档中嵌入另一个文档。 下面给出一个实例: <iframe src="https://www.baidu.com">浏览器版本不支持此iframe标签(替代文本)</iframe> ps <iframe>标签内部的内容,不是正常显示在页面的文本,而是类似于<a>标签中alt属性的性质,用于在不支持正常体现当前功能的时候,显示出替代文本。 iframe标签的高度和宽度属性 属性默认以像素(px)为单位,我们也可以使用比例来显示。 下面给出一个实例: <iframe src="https://www.baidu.com" width="300" height="200"></iframe> iframe的边框属性 frameborder属性用于定义<iframe>是否显示边框。 frameborder属性默认值为 1 ,则显示边框。 frameborder属性默认值为 0 ,则不显示边框。 下面给出实例: <iframe src="https://www.baidu.com" width="300" height="200"

优化网站设计(二十一):尽量少用iframe

喜你入骨 提交于 2020-02-29 06:21:32
前言 网站设计的优化是一个很大的话题,有一些通用的原则,也有针对不同开发平台的一些建议。这方面的研究一直没有停止过,我在不同的场合也分享过这样的话题。 作为通用的原则,雅虎的工程师团队曾经给出过35个最佳实践。这个列表请参考 Best Practices for Speeding Up Your Web Site http://developer.yahoo.com/performance/rules.html ,同时,他们还发布了一个相应的测试工具Yslow http://developer.yahoo.com/yslow/ 我强烈推荐所有的网站开发人员都应该学习这些最佳实践,并结合自己的实际项目情况进行应用。 接下来的一段时间,我将结合ASP.NET这个开发平台,针对这些原则,通过一个系列文章的形式,做些讲解和演绎,以帮助大家更好地理解这些原则,并且更好地使用他们。 准备工作 为了跟随我进行后续的学习,你需要准备如下的开发环境和工具 Google Chrome 或者firefox ,并且安装 Yslow这个扩展组件.请注意,这个组件是雅虎提供的,但目前没有针对IE的版本。 https://chrome.google.com/webstore/detail/yslow/ninejjcohidippngpapiilnmkgllmakh https://addons.mozilla