问题标签 [p3p]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
653 浏览

internet-explorer - 如何使用 P3P 标头设置会话 cookie (Omeka / Zend)

我正在使用 Omeka(基于 Zend 框架)开发一个门户,该门户在 iFrame 中的不同 URL 上运行,并且如果隐私设置高于或低于任何值,则在 IE 拒绝会话 cookie 的问题中运行。

我添加<?php header('P3P: CP="ALL DSP COR CUR ADM TAI OUR IND COM NAV INT"'); ?>到我的主题的标题页,但是当我检查 Fiddler 时,它说 Cookie 是在没有 P3P 标题的情况下发送的。我怀疑这是因为在启动主题标题之前设置了 cookie。

最好的地方是在哪里包含 P3P 代码以确保它们与 cookie 本身一起发送?可以设置bootstrap.php还是有别的地方?我试图在服务器级别设置它,但这似乎将我的 Apache 服务器发送到 Nirvana。应用程序 Omeka 基于 Zend 框架。

感谢您的任何意见。

0 投票
0 回答
680 浏览

internet-explorer - 无法使用 IE 和 Chrome 在 iframe 中登录网站。但我可以用 Safari 和 FF

在 IE 和 Chrome 上,如果我允许浏览器设置中的第 3 方 cookie,我可以登录。

但是,这不是一个实用的解决方案。

关于 IE:我是否需要创建 P3P 策略并在我的 iframe 网站中引用它?

关于 Chrome:Chrome 一直运行良好。他们最近是否更改了 cookie 政策?

我一直都能登录到我的 iframed 网站。有没有其他人经历过这种行为?

任何帮助表示赞赏,欢呼。

0 投票
5 回答
4245 浏览

javascript - 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。我们设置的标题是:

为什么在 IE8 - IE10 中添加紧凑策略标头不能解决此问题?如何解决此问题以在所有版本的 IE 中工作?

解决方案

下面有几个好主意。我接受了@sdecima,因为它听起来最有希望。我们最终结合了其中一些想法,但设法避免了 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。iframe的src属性设置为我们添加到 secure.com 的新端点。此操作接受购物车 ID 参数并保存购物车 ID cookie。我们不再需要将 cookie 保存在 secure.com/product/add 操作中。

接下来,我们更改了 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 对象——另外,如果出现错误,我们可以返回一条错误消息,指出它失败的确切原因)。

0 投票
2 回答
4489 浏览

ios - 提交嵌入在 iFrame 中的表单在 iOS 7 中不起作用

在带有 的网站中,嵌入mydomain.tld了包含托管表单的 iFrame 。otherdomain.tld这两个站点都是在端口 80 上运行的非 SSL。

现在,此表单不会在运行 iOS 7 的 iPhone 5 上提交。我可以在选择“iPhone Retina(4 英寸 64 位)”时在 iOS 模拟器中重现它(“4 英寸”不会发生)只要)。

提交事件被触发(至少如果我通过 JavaScript 捕获它)但没有根据开发人员工具发出请求。

如果我直接打开 iFrame 源,表单将提交。

我在 Internet Explorer 上遇到了类似的问题,并且了解了P3P,并且可以解决发送特殊 P3P 标头的问题:

但是对于 Safari 提到的问题,这似乎不是问题。

Safari 和 iFrame 中的表单是否有任何已知限制?

0 投票
1 回答
12361 浏览

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

请帮助我弄清楚如何正确转义参数,以便它们在 powershell 内调用 appcmd 时起作用。

我的脚本如下所示:

在 powershell_ise 中运行时的输出是这样的:

这适用于命令行

谢谢你的帮助!

0 投票
1 回答
113 浏览

wordpress - 关于 wordpress 响应的 p3p 策略未发送策略

我已经创建了 p3p 文件,将它们放在 w3c 文件夹中,但 fiddler2 仍然返回没有 p3p 的设置 cookie?

iis上的wordpress网站...

试图让它返回设置 cookie 和 P3P ......

我知道这是旧东西,但客户想要它。

我错过了什么?

0 投票
1 回答
721 浏览

jquery - 在 div 中加载谷歌地图 url

我用谷歌地图引擎定制了一张地图,我有相应的网址。我只想使用简单的 load() 方法将这个 url 加载到 div 中。不幸的是,我收到一条 P3P 错误消息。

我得到的错误:
这不是 P3P 策略!有关详细信息,请参阅http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657。链接中的信息没有预期的那么有用。
有什么提示吗?
如何完成 P3P 策略并加载地图?

0 投票
1 回答
2500 浏览

html - 在 HTML 中设置 P3P 代码

我已经研究了很多这个主题。但是如果可以在纯 HTML 中设置 P3P 标签,我没有得到一件事?就在第一个标签之前。

我试图让 iFrame 登录解决方案在 IE 中工作。

我刚刚在 PHP、ASP.NET 等中找到了代码示例,但不是在普通的 HTLM 中,如果可能的话。

0 投票
1 回答
3556 浏览

asp.net - p3p 标头在 chrome/safari 中不起作用

我有一个将 SSO 解决方案与另一个站点一起使用的站点。它通过在站点中嵌入 iFrame 以进行登录来实现此目的。

我遇到的问题是,使用 Chrome 和 Safari,当禁用 3rd 方 cookie 时,它​​不会保存登录 cookie。

该站点使用 ASP.net。我在 IIS 中添加了值为 CP="CAO PSA OUR" 的 P3P 标头。它仍然无法正常工作。是否需要为 Safari 和 Chrome 做其他事情?

0 投票
3 回答
2753 浏览

jsp - IE8 的 P3P 设置标头似乎不起作用

下面的 P3PsetHeader代码存在于我的 CASresponse jsp 中,但似乎不起作用,

我在这里错过了什么吗?我无法在 IE8 中获取我的第三方 cookie。

标头中是否需要policref?我应该为我的域设置 p3p 策略吗?

由于它是一个 CAS 请求,我应该在所有请求进入 CAS 时设置它吗?假设我有 entryFilter.java 我应该在那里设置 P3P 标头吗?或者在创建 cookie 之后。

当 IE 将 302 重定向到我的 serviceUrl 时,我无法保留 cookie。