我的Angular 6网站使用iframe来显示另一个网站的资源。 iframe的来源是我想要的资源的url,如果用户单击其他按钮,则src会动态更改。第一次使用iframe攻击第三方网站时,会发生基本的身份验证过程
I ask for a resource
I am redirected to their authorization URL
They ask for authorization
I provide them my token
They give me a token as proof of authenticating and redirect back to resource
此方法在Chrome中很好用,我可以很好地查看第三方页面的资源。但是,在IE中,直到我降低了默认的Internet安全设置,它才起作用。我认为发生的是默认设置阻止了第三方Cookie,因此第三方站点永远无法向我发送证明我是其资源的有效用户,因此它们永远不会显示。
我的域是否可以以某种方式从其域中将Cookie声明为第一方Cookie?通过这种方式,我可以解决IE默认设置而使我关机的问题。
凹凸
答案 0 :(得分:0)
因此,事实证明,具有IE 11的Windows 7仍需要P3P之类的东西,才能阻止第三方cookie。
基本上,过去用于处理第三方Cookie的方式是Cookie的发行者必须在某处创建并托管隐私政策,例如“ example.com/policy.html”。此政策是免责声明,告诉用户如何使用其数据。发行者必须发送带有该链接的标头作为其值,以允许浏览器接受其cookie。浏览器“信任” cookie,因为它具有用户可以查询以查看其数据使用方式的策略。从其他一些堆栈溢出问题中,我发现该P3P业务非常过时,并且没有多少实体对此非常在意。我们甚至也不必担心实际存在的url策略。
我不得不要求外部站点向包含Cookie的所有响应中添加以下标头:
P3P:CP =“测试”
“测试”在实际上可以是其他任何地方,而且有效!
资源:
Cookie blocked/not saved in IFRAME in Internet Explorer
https://security.stackexchange.com/questions/153084/is-it-ok-to-turn-off-p3p-in-ie11-on-windows-7