标签: p3p

P3P政策不允许在IE中允许第三方cookie

在此先感谢您帮助制作首张海报.我整天都在墙上敲我的头......

我有一个网站,必须能够在框架内运行时运行和设置cookie.在IE中,使用默认安全设置,这是一个问题,因为框架网站的cookie被视为第三方.现在,我已经阅读了有关P3P的所有信息,并且我已经创建了一个紧凑的隐私策略,通过HTTP头,XML策略文件和XML参考文件提供服务.我已经检查过,并且正在正确发送标头,IE可以读取策略文件.

但是,它仍然是STILL阻止来自该网站的cookie.我在这里创建了一个精简的示例:http://www.hankshelper.com/privtest.php 请注意,框架式网站中的cookie被IE阻止(6,7和8).

如果有人能查看我的紧凑政策

Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR NID DEVi OUR BUS INT\""
Run Code Online (Sandbox Code Playgroud)

和/或XML策略 http://www.searchtempest.com/w3c/searchtempest.xml

让我知道wtf,我会永远感激.我尽可能地删除了它们,我只是看不到IE会出现任何问题.(当然,就其为什么阻止cookie而言,IE本身非常冗长......)我很乐意提供您需要的任何其他信息.

internet-explorer p3p

8
推荐指数
1
解决办法
1万
查看次数

iframe Facebook应用程序和cookie [Internet Explorer]

我已经下载了IBM P3P编辑器,创建了文件并将它们上传到我的服务器.并且在Internet Explorer中仍然无法识别cookie.我检查了P3P验证工具,似乎验证了.

该应用程序可在此处查看:apps.facebook.com/naplesnews和iframe指向www.naplesnews.com/facebook/app/.

再次www.naplesnews.com/facebook/app/似乎也没有问题验证.

知道我在这里缺少什么吗?

cookies iframe internet-explorer facebook p3p

7
推荐指数
2
解决办法
1万
查看次数

任何人都知道下面的代码片段是什么意思?

header('P3P: CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"');
Run Code Online (Sandbox Code Playgroud)

我从未见过这样的标题,它的用途是什么?

php p3p http-headers

7
推荐指数
2
解决办法
2693
查看次数

Internet Explorer 9中的iframe的P3P和PHP会话问题

我在iframe中有一个联系表单,它使用验证码,因此需要会话变量.除IE9外,它在每个浏览器中都能正常工作.为了使它在IE8中工作,我在php文档的开头添加了以下行:

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

但是,这似乎在IE9中不起作用.有任何想法吗?

php p3p internet-explorer-9

7
推荐指数
1
解决办法
6863
查看次数

即使使用P3P标头,也无法在IE中的IFRAME中设置cookie

我在这里看到很多关于如何让IE在IE中的iframe中工作的帖子,我已经尝试了几种解决方案,但到目前为止还没有运气.这是我正在处理的事情:

  • 我有一个通过客户网站(小部件)上的Javascript创建的iframe.我无法控制客户的网站.我需要设置cookie以保持用户在iframe中登录,并且它可以在Chrome和Firefox中使用,但不能在IE 7/8中使用.我没有测试IE 6,但我认为它有同样的问题.

  • 我使用IBM的策略编辑器创建了一个P3P策略,并且编辑说在IE的安全性下,紧凑策略是可以接受的,无论它是设置为低,中还是高.我正在使用的CP是:

P3P: policyref="/w3c/p3p.xml" CP="CAO DSP COR CURa ADMa DEVa PSAa PSDa CONi TELi OUR IND PHY ONL UNI COM NAV INT DEM CNT PRE" (我已经尝试了其他几个人说工作的CP,但结果没有差异.)

  • 网络服务器(NGINX)正在为每个文件提供此P3P标头.我不是从代码服务它.

  • p3p.xml文件存在并与压缩策略匹配.p3p.xml使用W3C P3P验证器进行验证.

  • 即使使用P3P标题(无论我尝试哪一个),IE都会在底部的状态栏中给我"邪恶的眼睛",并且不会让我设置cookie.他们在隐私报告中显示为已屏蔽.

  • 我读了关于这个话题的Piskvor帖子:在Internet Explorer中阻止/未保存在IFRAME中的Cookie但是我无法重现他在他的演示站点上能够做的事情:http://newmoon.wz.cz/test /page.php?send_p3p=1.我认为这是因为我得到了邪恶的眼睛,而他却没有.我已经完成了我所读到的所有内容,作为摆脱邪恶的建议,但它仍然存在.嘲笑我.

  • 如果您想尝试一下,我的测试页面就在这里:http://truelike.com/js/bobs/frametest.php在iframe外部查看时,设置/读取页面工作正常,但在内部无法正常工作使用IE时.

  • 作为参考,我在后端使用PHP.

任何帮助都会非常感激 - 我们在这里绝望了.

谢谢!

cookies iframe internet-explorer cross-domain p3p

6
推荐指数
1
解决办法
6984
查看次数

Safari 不允许 iframe 中的跨域 cookie

IE 和 Safari 浏览器阻止 iframe 中的跨域 cookie。

例如,我有两个网站,假设它们是example.comanotherexample.net

在 上example.com,我有一个页面http://example.com/someform.asp,在此页面中我正在使用 cookie。当我http://example.com/someform.asp直接在浏览器中打开时,它工作正常。

anotherexample.net,我有页面http://anotherexample.net/page.asp,此页面包含一个IFRAME SRC="http://example.com/someform.asp". 现在,当我们http://anotherexample.net/page.asp在浏览器中打开页面时,example.com不会保存cookie 。在 Firefox 和 chrome 中不会出现这个问题。

我发现使用 p3p 策略我们可以解决这个问题,但是在 IIS 响应头中设置以下 p3p 策略之后,它仅适用于 IE。

P3P : CP="This is  a P3P policy! See  http://www.workplaceanswers.com/privacy-and-terms/"
Run Code Online (Sandbox Code Playgroud)

但是,我在 safari 中仍然遇到同样的错误。我尝试使用如下不同的 p3p 策略值,但无法修复它。

P3P : CP="CUR ADM DEV HIS TEL STA STP COM”
P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi …
Run Code Online (Sandbox Code Playgroud)

p3p

6
推荐指数
1
解决办法
1万
查看次数

如何阻止sinatra重写我的标题名称?

Sinatra是所有标题名称的骆驼套管,导致'P3P'出现问题.码:

require 'rubygems'
require 'sinatra'

configure :production do
  # Configure stuff here you'll want to
  # only be run at Heroku at boot

  # TIP:  You can get you database information
  #       from ENV['DATABASE_URI'] (see /env route below) 
end

# Quick test
get '/track' do
  #response.headers['Cache-Control'] = 'public, max-age=300'
  response.set_cookie("visited",1)
  response['this-that'] = "CP=\"CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE\""
  response['P3P'] = "CP=\"CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL …
Run Code Online (Sandbox Code Playgroud)

ruby rack sinatra p3p http-headers

5
推荐指数
1
解决办法
596
查看次数

IE8 - IE10跨域JSONP cookie令人头疼

由于完全不受我控制的决定,我处于以下情况:

  • 我在catalog.org上有一个产品列表

  • 单击产品上的"添加到购物车"按钮会发出对Secure.com/product/add/[productKey的AJAX JSONP请求,这会将购物车记录保存到数据库,使用购物车ID设置cookie,然后返回true响应(如果失败则为false)

  • 回到catalog.org,如果响应为真,则向secure.com/cart/info发出另一个AJAX JSONP请求,请求读取购物车ID cookie,获取记录,并返回购物车中的商品数量

  • 再次返回catalog.org,读取响应并更新页面上的元素,显示购物车中的商品数量(如果有)

  • 此时,单击catalog.org上的"转到购物车"按钮会在secure.com上显示购物车摘要

这在Firefox 17,Chrome 32和IE 11中运行良好.它也适用于我们开发和测试环境中的IE8 - IE10,其中catalog.org是catalog.development.com,catalog.test.com和secure.com是安全的. development.com和secure.test.com分别.

但是,在我们部署到生产之后,这停止了在IE8 - IE10中工作.将产品添加到购物车后,购物车中的商品数量会在catalog.org上成功更新.然后,在单击catalog.org上的"转到购物车"按钮后,secure.com上的购物车摘要显示任何内容,因为它无法读取cookie.在IE开发人员工具中进入缓存>"查看cookie信息"显示没有购物车ID cookie.它应该存在,就像在其他浏览器和我们的开发和测试环境中一样.

我相信正在发生的事情是IE阻止第三方cookie.我们已经为secure.com上的所有请求添加了一个P3P精简策略标头,但cookie仍未设置.我们设置的标题是:

P3P: CP="CAO PSA OUR"
Run Code Online (Sandbox Code Playgroud)

为什么不在IE8-IE10中添加紧凑的策略头修复此问题?我怎样才能解决这个问题,以便在IE的所有版本中使用?

下面有几个好主意.我接受了@ sdecima's,因为它听起来最有希望.我们最终结合了其中的一些想法,但设法避免了XDomainRequest:

  • 单击产品上的"添加到购物车"按钮会发出对Secure.com/product/add/[productKey的AJAX JSONP请求,这会将购物车记录保存到数据库,使用购物车ID设置cookie,然后返回true响应(如果失败则为false)

我们在secure.com/product/add上更改了操作,以返回一个JSON对象,其中包含指示成功或失败的布尔值以及购物车ID.

  • 回到catalog.org,如果响应为真,则向secure.com/cart/info发出另一个AJAX JSONP请求,请求读取购物车ID cookie,获取记录,并返回购物车中的商品数量

我们更改了回调函数以检查响应对象中的两个属性.如果成功,并且存在购物车ID,我们会在页面上创建隐藏的iframe.srciframe 的属性设置为我们添加到secure.com的新端点.此操作接受购物车ID参数并保存购物车ID Cookie.我们不再需要在secure.com/product/add操作中保存cookie.

接下来,我们更改了secure.com/cart/info上的操作以接受购物车ID参数.此操作将使用购物车ID参数(如果存在)来获取购物车信息,否则它仍将尝试读取cookie.如果我们可以保证iframe已经完成加载并且cookie已经保存在secure.com上,那么这个额外的检查将是不必要的,但是由于浏览器安全限制,我们无法知道iframe何时在catalog.org上完成加载.

最后,CP="CAO PSA OUR"仍然需要P3P标头才能在IE7-IE10中工作.(是的,这也适用于IE7 :)

我们现在有一个解决方案(尽管是一个非常复杂的解决方案),用于保存和访问适用于所有主流浏览器的跨域cookie,至少在我们能够可靠测试的时候.

我们可能会对此进行一些重构.首先,此时对secure.com/cart/info的第二个AJAX JSONP请求是多余的,因为我们可以将原始请求中所需的所有信息返回到secure.com/product/add操作(更改的附带好处)该操作返回一个JSON对象 - 加上我们可以返回一条错误消息,指出如果出现错误则确切失败的原因).

javascript cookies ajax jsonp p3p

5
推荐指数
1
解决办法
4232
查看次数

如何在PowerShell中运行appCmd以将自定义标头添加到默认网站

请帮我弄清楚如何正确地转义参数,以便在PowerShell中调用appcmd时它们可以工作.

我的脚本看起来像这样:

$defaultWebSite = "Default Web Site"
$appCmd = "C:\windows\system32\inetsrv\appcmd.exe"
$addHeaderP3P = "set config ""$defaultWebSite"" -section:system.webServer/httpProtocol /+""customHeaders.[name='P3P',value='policyRef=`\`"/w3c/p3p.xml`\`",CP=`\`"DSP COR NID OUR COM PRE`\`"']`""

Write-Output "Here's the argument string: " $addHeaderP3P



Write-Output "`nInvoke Result:"
Invoke-Expression "$appCmd $addHeaderP3P"


Write-Output "`n& Result:"
& $appCmd --%"$addHeaderP3P"
Run Code Online (Sandbox Code Playgroud)

在powershell_ise中运行时输出为:

PS C:\Users\robert.bratton> D:\Junk\p3pheader.ps1
Here's the argument string: 
set config "Default Web Site" -section:system.webServer/httpProtocol /+"customHeaders.[name='P3P',value='policyRef=\"/w3c/p3p.xml\",CP=\"DSP COR NID OUR COM PRE\"']"

Invoke Result:
Failed to process input: The parameter 'COR' must begin with a / or - (HRESULT=80070057).


& Result: …
Run Code Online (Sandbox Code Playgroud)

powershell iis-7 escaping p3p appcmd

5
推荐指数
1
解决办法
8934
查看次数

从php页面获取响应

我需要从我的aspx.cs页面调用.php页面.但我不想加载页面.我只想调用页面,页面将给我XLM响应,我需要存储在DB中.我是尝试使用Ajax,但根据链接.我们无法从ajax调用跨域页面.

总之,我想使用asp.net代码从php页面读取数据.

任何人都可以帮帮我.

更新 ::如果跨域调用,P3P策略是否有用.

php c# asp.net asp.net-3.5 p3p

2
推荐指数
1
解决办法
5741
查看次数

有关p3p策略编辑器的任何建议吗?

你能推荐一个好的p3p策略编辑器吗?

最好是开源+免费.

security p3p

1
推荐指数
1
解决办法
3016
查看次数

在Apache中设置P3P标头会导致内部服务器错误

我想通过添加它们来设置P3P标题,.htaccess使用以下内容:

<IfModule mod_headers.c>
Header set P3P "CP="ALL DSP COR CUR ADM TAI OUR IND COM NAV INT""
</IfModule>
Run Code Online (Sandbox Code Playgroud)

但是,这会导致内部服务器错误.我能找到的服务器日志中唯一相关的条目是.htaccess:Header has too many arguments

据我所知,mod_headers.c载入.

有关如何解决此问题的任何想法?谢谢!

apache .htaccess p3p mod-headers

1
推荐指数
1
解决办法
3545
查看次数

如何在Azure上配置p3p策略

我们的应用程序托管在Facebook.如您所知,Facebook在IFrame中托管第三方应用程序.您可能还知道,如果Iframe和父网站中的网站位于不同的域中,则在IE for Medium隐私设置中将阻止没有紧凑策略的第三方(跨域)Cookie.因此,需要为网站配置紧凑的p3p策略.我的一般问题是:在Azure上执行此操作的建议方法是什么.我将不胜感激任何关于此的文件.我看了看,只能找到对我不起作用的点点滴滴.

注意,我已经创建了p3p策略文件(html,xml,compact和reference文件).所以基本上我认为我拥有所需的所有部分.我只是错过了如何启用它们的说明.

进一步的子问题:

每次请求页面时,是否必须将压缩p3p策略作为响应头的一部分提供?

要么

我可以在Azure上配置IIS以设置整个站点的标头吗?我找到了这个链接

http://richardprodger.wordpress.com/2011/04/06/p3p-and-iis-in-azure/

讨论如何在Azure上创建和运行appcommand.但是,当我这样做并尝试部署时,我的角色实例永远不会启动.他们无限地悬挂着.

亲切的问候,

阿尔奇尔

azure p3p compact-policy

0
推荐指数
1
解决办法
1415
查看次数