iframe里验证码错误的问题及解决
来源:互联网 发布:淘宝图片尺寸要求 编辑:程序博客网 时间:2024/06/05 18:49
工作中遇到的问题 从本域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';
.....
参考:http://adamyoung.net/IE-Blocking-iFrame-Cookies
http://www.w3.org/P3P/
- iframe里验证码错误的问题及解决
- struts2验证码及错误解决
- thinkphp在ubuntu下验证码无法加载或者验证码错误问题的解决
- air 里用iframe时的问题
- 终于解决了“登陆CSDN网站时,验证码错误”的问题
- 关于weiphp 或者 onethink 验证码 总是错误的问题(已解决)
- 解决dedecms5.7验证码不显示、错误等问题
- eclipse错误及解决方法(大家把遇到的错误也贴到评论里吧,然后一起解决)
- 解决在项目里引入Spring Security后iframe或者frame所引用的页无法显示的问题
- div里嵌套iframe,让iframe及div高度一起随内容自适应高度问题
- include问题及错误解决
- iframe中的session失效问题的解决
- 解决iframe中session丢失的问题
- 解决iframe 右边有空白的问题
- 完美解决iframe的100%高度问题
- 解决iframe之间的间隙问题
- 利用java技术生成验证码的多种方法及遇到问题的解决
- 解决ASP.NET AJAX在frame及iframe中跨域访问的问题
- 递归匹配 和 e修饰符
- 让FF不记录Input修改后的值
- JS验证表单各类条件表达式大全
- UTF-8检测
- 正则的递归匹配
- iframe里验证码错误的问题及解决
- 发送邮件
- Eval在IE下不能正常工作啊. - -!
- PHP在Apache下的工作方式
- js 正则test问题
- php unicode转utf-8
- VC调试时如何查看函数返回值
- js 再不写就忘了(select, div隐藏相关) 已修改
- 在许多人的面前你该怎么办?哥我面红了