`

iframe里验证码错误的问题及解决

 
阅读更多

工作中遇到的问题 从本域A iframe另一个域的页面(是登录页) 验证码总是提示错误 (IE下才有问题,因为那个页要activex 所以开始没怀疑session) 经过排查确定是iframe里的页面生成的cookie是保存不住的;

测试用例如下:
A域页面代码 :
  <iframe src="http://B/p3p.php"></iframe>   

B域页面

 <?php
session_start();
if(!empty($_GET['test'])){
  var_dump($_SESSION['p3p']);
}else{
 $_SESSION['p3p'] = 'room';
 echo "<a href='?test=1'>test</a>";
 var_dump($_SESSION['p3p']);
}
?>
IE下点击IFRAME里的链接 打印出NULL
因为IE里iframe是不传输stored_cookie的
资料原文:
The problem lies with a W3C standard called Platform for Privacy Preferences or P3P for short. You can read all about the boring stuff via the link or else just install the P3P Compact Policy header below. This will allow Internet Explorer to accept your third-party cookie. You will need to send the header on every page that sets a cookie.

解决方法是输出个header

PHP:

header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');

ASP.NET:

HttpContext.Current.Response.AddHeader("p3p","CP=/"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT/"");

JSP:

response.addHeader("P3P","CP=/"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT/"")


试验在设置session的地方输出header即可
 .....
  header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
  $_SESSION['p3p'] = 'room';
.....

 

jsp  response.addHeader("P3P","CP=CAO PSA OUR");

 

 

 

分享到:
评论

相关推荐

    【ASP.NET编程知识】iframe跨域与session失效问题的解决办法.docx

    在开发讯息在线产品时,发现 IE 浏览器(v7/8)都无法登录(总是提示验证码不匹配错误),而其他浏览器无此问题(firefox、百度等)。因此可以断定这和浏览器脱不了干系。 初步分析:服务器端日志中显示 sessionId ...

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

    何为跨域跨域session/cookie? 也就是第三方session/cookie。...我的问题 在开发讯息在线产品(http://iap.pgia.net)测试各种浏览器的兼容性时,发现IE浏览器(v7\8)都无法登录(总是提示验证码不匹配

    python+selenium+chrome 自动化测试TPshop商城项目实战(二)——通过cookies绕过验证码.pdf

    在本篇Python自动化测试实战中,我们主要探讨了如何利用Selenium和Chrome浏览器进行Web自动化测试,特别是如何通过设置cookies来绕过验证码。这个场景应用在TPshop商城项目的自动化测试中,目的是模拟用户登录后的...

    KODExplorer 芒果云-资源管理器

    - 选中文件时,移动到屏幕可视区域(解决上下左右选中文件滚动条不一致问题) ###ver2.51 `2014/6/22` ---- ####fix bug:(bug解决和程序优化) - 登陆多次密码输入错误验证码bug解决 - 修复漏洞:创建副本加入...

    动易会员登陆修改

    通过对动易会员登录功能的调整,不仅可以解决登录框显示不全的问题,还可以根据实际需求灵活地开启或关闭验证码功能。同时,合理地管理文件编码格式也能有效避免潜在的错误发生。希望本文能为正在使用动易系统的...

    JS兼容性非常好的原生态实现文本复制与剪切插件clipboard.js.zip

    在JavaScript的世界里,兼容性问题一直是开发者们头疼的问题,特别是在涉及到一些高级功能或者浏览器API时。"clipboard.js"是一款优秀的JavaScript库,它专注于解决文本复制和剪切的兼容性问题,使得这一操作在各种...

    [Python爬虫]-模拟登录qq邮箱实验报告.docx

    在实验过程中可能会遇到的问题,如环境配置错误,可以通过查阅文档、社区讨论或向同学求助来解决。对于验证码,Selenium的ActionChains类提供了模拟鼠标操作的能力,可以有效应对。 **五、心得体会** 通过本次实验...

    动网论坛Dvbbs v8.3 目前是最新版

    2.管理员可以发iframe标签功能(管理员可以发布iframe及javascript帖子及显示) 3.网站优化SEO(后台有开关控制(开启采用新的seo;关闭保留以前)) 4.网站关键词禁止提交功能(后台有开关控制(含有后台设置的关键词不允许...

    后台管理系统模板

    总的来说,这个后台管理系统模板是一个基于layui构建的高效、易用的后台管理解决方案,其核心特点在于自定义菜单、iframe加载子页面、表格分页功能以及完善的登录页面设计。对于开发者而言,这样的模板可以极大地...

    动网论坛Dvbbs v8.3.rar

    2.管理员可以发iframe标签功能(管理员可以发布iframe及javascript帖子及显示) 3.网站优化SEO(后台有开关控制(开启采用新的seo;关闭保留以前)) 4.网站关键词禁止提交功能(后台有开关控制(含有后台设置的关键词不...

    一种基于前端JS的CSRF防护设计.pdf

    本文主要介绍了基于前端JS的CSRF防护设计,旨在解决当前CSRF防护解决方案在通用性和有效性方面存在的一些问题。CSRF(Cross-site request forgery)是一种非常流行的Web攻击方法,它可以在用户不知情的情况下进行...

    zclip点击复制插件简易版

    在IT行业中,前端开发经常会遇到需要用户复制文本到剪贴板的需求,比如网址、验证码等。"zclip点击复制插件简易版"就是一个为了解决此类问题而设计的JavaScript插件。这个插件的特点在于其易用性和轻量级,只需简单...

    网络数据采集技术概述.pptx

    10. **日志管理和监控报警**:记录爬虫运行状态,及时发现并解决问题。 网页分析是爬虫技术中的关键环节,涉及多种数据抓取方式,包括: - **网页分析**:解析HTML结构,利用正则表达式、XPath、BeautifulSoup等...

    Tumblr抓取

    在开发过程中,可能遇到的问题包括反爬机制(如验证码、IP封锁等)、动态加载内容的抓取(可能需要使用如Selenium这样的浏览器自动化工具),以及编码问题(需确保正确处理各种字符编码)。对于这些挑战,需要灵活...

    亚马逊机械土耳其工具「Tools for Amazon's Mechanical Turk」-crx插件

    现在,此问题已解决。修复Chrome中的TypeError 1.0.8-修复了一个小错误,在一种情况下无法播放音频 1.0.7-删除了base64音频片段。从Pastebin中删除了添加音频片段。将音频.ogg文件放在扩展名内 1.0.5-添加了按钮“在...

    casperjs.pptx

    5. **特殊页面处理**:对于含有验证码的页面,如新浪微博授权页面,需要额外处理验证码验证逻辑。 通过以上内容,我们可以看出CasperJS是一款功能强大的Web自动化工具,它不仅简化了Web测试与导航脚本的编写过程,...

    PHP简单实现模拟登陆功能示例

    为了解决这个问题,文章中提到了使用隐藏iframe的方案。通过在页面中嵌入一个不可见的iframe,并在iframe中加载登录页面。然后在iframe加载完毕时,通过JavaScript脚本自动填充登录信息并提交表单。这样,用户的登录...

    前端面试题

    **21、网页验证码是干嘛的,是为了解决什么安全问题?** - 网页验证码(CAPTCHA)用于区分人类和机器人用户,防止自动化工具进行恶意操作,如垃圾邮件、刷票等。 **22、title与h1的区别、b与strong的区别、i与em的...

    干货前端工程师面试题汇总内含题目解析和详细答案

    **CSS 兼容性问题及解决方法** - **兼容性问题**主要包括不同浏览器对CSS特性的支持程度不一。 - **解决方法**包括使用前缀(如`-webkit-`),条件注释,polyfill等技术手段。 #### 25. **为什么要初始化 CSS ...

Global site tag (gtag.js) - Google Analytics