gpt4 book ai didi

javascript - 使用 javascript/php 检查是否启用了 Safari 阻止 cookies "From third parties and advertisers"

转载 作者:行者123 更新时间:2023-11-30 18:07:10 25 4
gpt4 key购买 nike

我遇到一个问题,在我的网站支付网关 (migs) 中用作 iframe,在 Safari 浏览器中默认的 cookie block 是“来自第三方和广告商”,因此从网关收到错误“cookie 未启用错误”(迁移)响应。我需要使用 php/javascript 检测此类 cookie block 以显示此 cookie block 问题。

--

编辑:

我面临同样的问题,iOS7 阻止我的 LinkedIn 社交登录按钮工作,因为“阻止来自第三方的 cookie”被禁用。由于缺乏解决方案,我想知道如何检查它们是否启用了 Javascript 或 Javascript+PHP。 @lisovaccaro

最佳答案

我想这样做的一种方法是在另一个域(不是子域,according to definition 但我还没有测试过)上有一个脚本,它只设置一个 cookie,然后脚本可以返回 JSONP,这样你就可以在另一个域上将它与 javascript 一起使用。所以像这样:

PHP ( cookie.php )

<?php
header("Content-type: application/javascript");
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

if(isset($_GET["set"])){ //first run here
setcookie("cookie_test","cookies",time()+3600);
//redirect to self after setting cookie so we don't have to call script twice
header('Location: cookies.php?&callback='.@$_GET["callback"]);
die(); //death
}
//once redirected should go here
$cookie_set=array("cookies"=>isset($_COOKIE["cookie_test"]));
echo @$_GET["callback"]. "(" . json_encode($cookie_set) . ")";

Javascript/Jquery

//callback=? for jquery to know it's jsonp. &set so the script sets first
$.getJSON("http://another.domain.com/cookies.php?callback=?&set")
.done(function(data){
if(data.cookies){
//third party cookies are enabled
} else {
//third party cookies probably disabled
}
})

Demo .在 Mac 上的 Safari 上对其进行了测试。

关于javascript - 使用 javascript/php 检查是否启用了 Safari 阻止 cookies "From third parties and advertisers",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15539892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com