使用p3p跨域设置Cookie

有些时候不能将url上的参数传来传去,比如与调用某开放平台上的接口,这时候可能需要借助Cookie来进行处理了,但这里可能又涉及到跨域的问题。

如果浏览器开启了对Cookie的支持,按照Cookie RFC,它应该具有:

1、允许设置至少300个Cookie;

2、每个域允许至少设置20个Cookie(IE7/8-50个、FF-50个、Opera-30个);

3、每个Cookie至少允许设置4095字节(Opera-4096字节、ff、safari-4097字节)

使用的测试例子是调用iframe,假设有两个域名a.com、b.com,在a.com的首页中嵌入一个iframe页,src地址为 http://b.com/setCookie.php页面,然后刷新b.com的首页获取Cookie。

asp.net设置p3p的方法:

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

PHP设置p3p的方法:

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

JSP设置p3p的方法:

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

ColdFusion设置p3p的方法:

<cfheader name="P3P" value="CP='IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT'" />

<?php

date_default_timezone_set("Asia/Shanghai");

header("P3P: CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR");

setcookie("cookieTest", "xxx".Rand(0, 1000), time() + 3600, "", "b.com");

?>
原文地址:https://www.cnblogs.com/soundcode/p/7233749.html