检查Safari是否阻止“来自第三方和广告商”的cookie;使用javascript/php启用
Check if Safari block cookies "From third parties and advertisers" is enabled using javascript/php
我面临的问题是,在我的网站支付网关(migs)使用iframe,在Safari浏览器默认的cookie块是"来自第三方和广告商",所以得到错误"cookie未启用错误"从网关(migs)的响应。我需要检测这样的cookie块使用php/javascript显示此cookie块问题。
,
编辑:
我面临同样的问题,iOS7阻止我的LinkedIn社交登录按钮工作,因为"阻止第三方cookie"被禁用。在缺乏解决方案,我想知道如何检查他们是否与Javascript或Javascript+PHP启用。@lisovaccaro
我想这样做的一种方法是有一个脚本在另一个域(不是子域,根据定义,但我还没有测试过这个),简单地设置一个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) . ")";
Jquery Javascript///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
}
})
演示。在Mac的Safari上测试过了
相关文章:
- 使用jquery cookie的第三方cookie
- 如何使用单选按钮设置cookie值
- 如何照顾CSRF&单页应用程序中不使用cookie的XSS攻击
- 未使用Javascript在IE中设置Cookie
- 在AngularJS中的另一个ng应用程序中使用来自一个ng程序的Cookie值
- 如何使用Ajax/jQuery设置cookie
- 如何在Internet Explorer中使用javascript设置cookie
- 使用AngularJS更新cookie
- 使用Javascript创建的Cookie在C#代码中不可访问..任何原因或其他选择
- 使用JavaScript'持久化CSS状态;s的`window.cookie`
- 使用document.cookie将客户端javascript转换为节点模块
- 当错误时清除cookie 使用护照反序列化用户.js
- 如何禁止 FedAuth cookie 使用 Blueimp Fileupload 上传
- 了解cookie(使用jquery cookie插件)
- 使用相同的代码设置多个cookie..使用jQuery或JavaScript
- 是否有一种方法来清除缓存和cookie使用javascript
- 是否有可能删除cookie使用它的值不是名称使用JavaScript?如果是,那么怎么做呢?
- 检查Safari是否阻止“来自第三方和广告商”的cookie;使用javascript/php启用
- 我们可以检索和设置PHP cookie使用javascriopt
- 清除Cookie-使用Javascript