V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lxjsmdc
V2EX  ›  PHP

如何用 PHP 在 aaa.com 设置 bbb.com 的 cookie 呢?doge

  •  1
     
  •   lxjsmdc · 2015-12-21 15:54:49 +08:00 · 3143 次点击
    这是一个创建于 3290 天前的主题,其中的信息可能已经有所发展或是发生改变。
    <?php
    setcookie("name1","value1",time()+3600*24,"/",'v2ex.com');
    setcookie("name2","value2",time()+3600*24,"/",'.v2ex.com');
    setcookie("name3","value3",time()+3600*24,"/",'www.v2ex.com');
    
    setcookie("name4","value4",time()+3600*24,"/",'v2ex.com',true);
    setcookie("name5","value5",time()+3600*24,"/",'.v2ex.com',true);
    setcookie("name6","value6",time()+3600*24,"/",'www.v2ex.com',true);
    ?>
    
    <a href="http://www.v2ex.com/">http://www.v2ex.com/</a>
    

    除了用 js 和 iframe ,单单用 php 能否设置任意第三方网站的 cookie 呢?

    21 条回复    2015-12-22 11:04:46 +08:00
    nilai
        1
    nilai  
       2015-12-21 15:59:00 +08:00 via iPhone
    一个字 不得行
    Citrus
        2
    Citrus  
       2015-12-21 16:01:13 +08:00
    如果可以的话谁还敢用 Cookie ?
    BOYPT
        3
    BOYPT  
       2015-12-21 16:01:39 +08:00
    收购 bbb.com, 然后再 aaa.com 302 到 bbb.combbb.com 的响应里面设置好 cookies ,然后再 302 回去。
    shiny
        4
    shiny  
       2015-12-21 16:03:48 +08:00   ❤️ 1
    Lack of common sense
    SourceMan
        5
    SourceMan  
       2015-12-21 16:08:03 +08:00
    叼!
    loading
        6
    loading  
       2015-12-21 16:09:32 +08:00 via Android
    lxjsmdc
        7
    lxjsmdc  
    OP
       2015-12-21 16:18:40 +08:00
    @nilai
    @Citrus
    @BOYPT

    忘了备注
    如果前提条件是 aaa.combbb.com 都是我能任意控制的网站

    我想打开 aaa.com 网站的时候
    不用 js 和 iframe ,单单用 php 就能设置 bbb.com 的 cookie ?这两站都是我的也不行吗?
    lyragosa
        8
    lyragosa  
       2015-12-21 16:42:45 +08:00
    就是单点登录嘛。
    前提是这些网站必须你都有 root 权。
    kiwi95
        9
    kiwi95  
       2015-12-21 16:46:55 +08:00
    bbb.com 开放一个接口给 aaa.com 去请求,在请求响应中设置 bbb.com 的 cookie 也可以
    BOYPT
        10
    BOYPT  
       2015-12-21 16:49:06 +08:00
    @lxjsmdc 那就没问题啊, 302 302
    anewg
        11
    anewg  
       2015-12-21 18:10:16 +08:00   ❤️ 1
    cookie 是发送给浏览器去设置的啊,浏览器能让你只开 aaa 页面而不开任何 bbb 页面设置 bbb 域下的 cookie 吗?显然不行啊。

    除非你的应用内置 webview 之类 hack 掉浏览器限制。这跟浏览器有关,跟 php 没多大关系。

    那些 SSO 解决方案无非就是用各种方式让浏览器隐藏打开不同域的页面让其设置 cookie 。
    macroideal
        12
    macroideal  
       2015-12-21 21:23:39 +08:00
    cookie 同步
    des
        13
    des  
       2015-12-21 21:31:16 +08:00
    两个网站放到同一个域名的子域名不就行了?
    zhjits
        14
    zhjits  
       2015-12-21 21:42:32 +08:00
    只有 bbb.com 域下面的东西才能改 bbb.com 的 cookies ……除非你魔改浏览器
    movtoy
        15
    movtoy  
       2015-12-21 22:03:57 +08:00
    cookie 是什么?是浏览器保存的一小段文本!而浏览器不会跨域名保存的
    manhere
        16
    manhere  
       2015-12-21 22:39:51 +08:00 via iPhone
    cookie stuffing
    manhere
        17
    manhere  
       2015-12-21 22:45:48 +08:00 via iPhone
    看楼主描述, cs 也不符合题意。
    jugelizi
        18
    jugelizi  
       2015-12-21 23:03:37 +08:00
    都洗洗睡吧
    楼主是要自己做个浏览器的人才

    我们只会 sso 和 cors
    qiayue
        19
    qiayue  
       2015-12-21 23:18:45 +08:00
    在 aaa 中 iframe bbb 的设置 cookie 页面
    你去看看 Linode.com 登录之后有一个中间页面就是用来写 cookie 的
    ChoateYao
        20
    ChoateYao  
       2015-12-22 10:14:39 +08:00
    既然有这个问题,我想问下如何解决 Safari 下的跨域写 Cookie 问题,在 Chrome 和 Firefox 都没有问题。
    php230
        21
    php230  
       2015-12-22 11:04:46 +08:00
    SSO 吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1178 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:10 · PVG 02:10 · LAX 10:10 · JFK 13:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.