分享

cookie 跨域

 丶平上 2016-12-30

cookie跨域问题

这个可以说是cookie中一个比较热门的问题,面试的时候一般很爱聊这方面的问题。

跨域的业务需求大概是酱紫:用户在进行了登录,希望在也同步进行了登录。如果是同一个主域比较简单,可以通过setcookie中的domain参数进行设定:例如有x.和xx.,可以通过设置domain为,从而的所有二级域名都可以共享这一个cookie。基于安全方面的原因,在下面设置domain为是无效的。

那么是否真的没有办法可以实现这个了呢?这个还是有一些奇巧淫技的,这里介绍一种使用内框iframe的方法。

具体思路:在下设置cookie后,嵌入一个iframe框链接的页面,设置好页面cookie后,再嵌入一个的页面,然后通过parent.parent就可以调用最外层的的js方法,从而进行跳转或者一些其它的操作。具体代码示例如下:

假设有页面:login.php和callback.php,有页面synclogin.php

的login.php代码:

<?php
$sso = "e589hR6VnO8K1CNQZ4PSP/LWGBhRKE5VckawQwl1TdE8d4Q5E7tW";
setcookie("sso", $sso);
?>
login success...
<script type="text/javascript">
    function jumpTo() {
        location.href = "http://";
    }
</script>
<iframe src="http:///synclogin.php?sso=<?php echo $sso; ?>"></iframe>

的synclogin.php页面

<?php
setcookie("sso", $_GET["sso"]);
?>
<iframe src="http:///callback.php"></iframe>

的callback.php页面

<script type="text/javascript">
    parent.parent.jumpTo();
</script>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多