http://www.im286.com/thread-7016973-1-1.html
跨域调用COOKIES 超级简单。
A站iframe引用其它站(B站)的内容时,B站的页面获取不到B站种下的Cookies。如果页面是来自框架的,而框架的父页和框架不是一个站点的话,客户端默认是禁止向页面附加头信息的,这样服务器端就无法识别客户端框架里面的页面,自然不能操作Session。
解决方案:
一种是:直接改IIS设置
第二种是:直接在ASP头部加了头部申明
下面是第二种方案
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")
转自:http://www.xueit.com/html/2009-01/21_239_00.html
通过P3P接口跨域调用COOKIE (2008-10-30 12:05:50)转载
标签: 跨域 cookie 杂谈 分类: 我是PHPer
测试环境
127.0.0.1 www.a.com
127.0.0.1 www.b.com
首先:创建 a_setcookie.php 文件,内容如下:
<?php
//header(''P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"'');
setcookie("test", $_GET[''id''], time()+3600, "/", ".a.com");
?>
然后:创建 a_getcookie.php 文件,内容如下:
<?php
var_dump($_COOKIE);
?>
最后:创建 b_setcookie.php 文件,内容如下:
<script src="http://www.a.com/a_setcookie.php?id=www.b.com"></script>
----------------------------
三个文件创建完毕后,我们通过浏览器依次访问:
http://www.b.com/b_setcookie.php
http://www.a.com/a_getcookie.php
我们会发现,在访问b.com域的时候,我们并没有在a.com域设置上cookie值。
然后我们修改一下a_setcookie.php文件,去掉注释符号,a_setcookie.php即为:
<?php
header(''P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"'');
setcookie("test", $_GET[''id''], time()+3600, "/", ".a.com");
?>
转自:http://blog.sina.com.cn/s/blog_4495c9610100biih.html
以下是soguo原创
php写的已经很清楚了,参考PHP ASP代码如下
a.com cookies.asp
<%
Response.AddHeader "P3P", "CP=CAO PSA OUR"
if request.Cookies("test")="" then
response.Cookies("test")=request("id")
response.Cookies("test").Expires=dateadd("d",7,date)
response.Cookies("test").path="/"
end if
%>
b.com ceshi.asp
<script src="http://www.a.com/cookies.asp?id=ceshi"></script>
这样就可以在a.com中通过引用<script src="http://www.a.com/cookies.asp?id=ceshi"></script> 达到 在b.com写入COOKIES的目的
没太清晰写,抛砖引玉吧,因为转载的写的比较清楚了,
我竟然搜索了好几个小时才找到这两个页面,以前搜索过好几次都没找到过
搜索还得到一个知识 jsonp 可以跨域 调用 但没看懂
asp : Win2003 + IE8下, Cookies, Session 都不成功!
xxx.com/main.asp
<%Response.AddHeader "P3P", "CP=CAO PSA OUR"%>
<%
Session("s_main") = Timer()&"@s_main"
Response.Write "<br>1."&Session("s_main")
Response.Write "<br>2."&Session("s_inn")
Response.Cookies("cGroup1")("c_main") = Timer()&"@c_main" ''赋值
Response.Write "<br>3."&Request.Cookies("cGroup1")("c_main")
Response.Write "<br>4."&Request.Cookies("cGroup1")("c_inn")
%>
<br />
<iframe src="/app2/inn.asp"></iframe>
<p><br />
Asp操作Cookies(设置[赋值]、读取、删除[设置过期时间])<br />
Response.Cookies("letwego")("visiter")="84ww" ''赋值<br />
Response.Cookies("letwego").Expires= (now()+7) ''设置过期时间(7天)<br />
userName=Request.Cookies("letwego")("visiter") ''取Cookies<br />
Response.Cookies("letwego").Expires= (now()-1) ''删除Cookies,设置过期时间(-1天)
</p>
<p><a href="go.asp">Go>>></a></p>
yyy.com/inn.asp
<%Response.AddHeader "P3P", "CP=CAO PSA OUR"%>
<%
Session("s_inn") = Timer()&"@s_inn"
Response.Write "<br>1."&Session("s_main")
Response.Write "<br>2."&Session("s_inn")
Response.Cookies("cGroup1")("c_inn") = Timer()&"@c_inn" ''赋值
Response.Write "<br>3."&Request.Cookies("cGroup1")("c_main")
Response.Write "<br>4."&Request.Cookies("cGroup1")("c_inn")
%>