Cookie 禁用后,无法登录京东 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Liang11734
V2EX    京东

Cookie 禁用后,无法登录京东

  •  
  •   Liang11734 2019-02-20 08:35:49 +08:00 7168 次点击
    这是一个创建于 2455 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在讨论到单点登录时,使用 token 存储在 Cookie 中,当 Cookie 被禁用后,无法进行登录,以及购物车后续的功能都无法进行, 但是,意外的是,在 Cookie 禁用后,京东也无法实现登录 求大神们给个解决的方案

    46 条回复    2019-02-21 10:06:08 +08:00
    reus
        1
    reus  
       2019-02-20 08:43:08 +08:00   5
    有啥意外的?
    给你钥匙,你转身扔了,锁就开不了,有啥意外的?
    namesc
        2
    namesc  
       2019-02-20 08:51:49 +08:00
    没有 cookie 保存登录状态,京东怎么知道你有没有登录,要登录必须要打开 cookie 功能。
    jzmws
        3
    jzmws  
       2019-02-20 09:03:14 +08:00
    cookie 开启了就可以了, 不过现在的移动端 cookie 现在能不用就不用了
    zackwu
        4
    zackwu  
       2019-02-20 09:09:48 +08:00
    你这话说的...没有 cookie 不能保存登录状态,很奇怪吗?
    xfspace
        5
    xfspace  
       2019-02-20 09:11:21 +08:00 via Android   14
    但是,意外的是,在停电后,台式电脑也无法开机 求大神们给个解决的方案
    gps949
        6
    gps949  
       2019-02-20 09:13:51 +08:00   1
    @xfspace UPS 电源了解一下 (老实人滑稽
    xfspace
        7
    xfspace  
       2019-02-20 09:17:04 +08:00 via Android   4
    @gps949 并不指明市电,UPS 输出也是电

    一位在体育器材厂专业抬杠的表示
    imdong
        8
    imdong  
       2019-02-20 09:23:28 +08:00
    断网以后,我自己的网站打不开就算了,没想到百度居然也打不开!
    onionnews
        9
    onionnews  
       2019-02-20 09:25:01 +08:00 via Android
    感谢科普
    ggmood
        10
    ggmood  
       2019-02-20 09:26:14 +08:00
    那就不用京东咯,京东很多东西比沃尔玛贵,比华润更贵
    liuxey
        11
    liuxey  
       2019-02-20 09:29:17 +08:00
    你这前后文的“但是”毫无转折关系,Cookie 是现在保持登陆状态最泛用的方式,但是,意外的是,我觉得你并没有真正的理解什么是 Cookie
    ZavierXu
        12
    ZavierXu  
       2019-02-20 09:34:46 +08:00
    Cookie 这么好吃,你们为什么要扔掉它!!!
    guojing666
        13
    guojing666  
       2019-02-20 09:44:51 +08:00
    你发明了一种“但是体”,可以把玩可以盘......它
    dark3212
        14
    dark3212  
       2019-02-20 10:13:50 +08:00
    京东有线下店,可以解决你这个问题
    oott123
        15
    oott123 &nbs;
       2019-02-20 10:14:06 +08:00 via Android
    虽然楼上都在嘲讽,而楼主的问题也的确有点过分了。

    但我要说的是,保持会话除了 cookies 之外当然也有别的办法。比如手机互联网早期 wap 时代用的:在所有链接上增加 sessionid,通过 sessionid 来识别用户。当然,这个方案有很大的安全隐患,开发成本也不小,收益远没有它的好处来得多。
    otakustay
        16
    otakustay  
       2019-02-20 10:16:12 +08:00
    好奇怪啊,没有 cookie 不能登录曾经确实是很奇怪的事情啊,都会在禁用 cookie 的时候把 sessionid 加在 URL 中的
    正如曾经 JS 禁用网站也要保持可用是一种常识一样,这些实践随着时代的推移正在消失。现在的孩子们没经历过那样的时代不了解是没问题的,但是拿着嘲讽的语气去表达会不会有些过分
    otakustay
        17
    otakustay  
       2019-02-20 10:16:48 +08:00
    再者,只要理解 HTTP 无状态,无论如何也不会把登录和 Cookie 认为是强绑定的唯一实现吧,咋想的……
    learnshare
        18
    learnshare  
       2019-02-20 10:19:43 +08:00
    只是京东不愿意处理这种极端状况而已
    Liang11734
        19
    Liang11734  
    OP
       2019-02-20 10:27:35 +08:00
    楼上的回答是我想要的
    但是面试的时候,面试官会把问题抛给我们,
    假如:
    面试官问:Cookie 被禁用,如何实现单点登录
    因为 Cookie 被禁用是一个极端的情况
    reus
        20
    reus  
       2019-02-20 10:30:27 +08:00   2
    @otakustay 讨论的前提就是京东没有用 url 也没有用 local storage 之类的其他方式去保存登录信息,所以禁用了 cookie 就不能登录,这和你说的没有任何关系。难不成你能要求京东使用其他方式?房东就只有钥匙给你,你非要说我要指纹,我要刷卡,我要刷脸,就是不要钥匙,可行吗?
    est
        21
    est  
       2019-02-20 10:31:53 +08:00
    大家不要笑。我感觉欧盟地区的人应该也会有这个问题。。。没同意网站用 cookie 凭什么功能不能用了
    wu67
        22
    wu67  
       2019-02-20 11:31:42 +08:00
    cookie 不能用? 劳资写 local storage ~,~
    shapl
        23
    shapl  
       2019-02-20 11:35:46 +08:00
    @otakustay #16 sessionid 加在 URL 中。。。安全?
    beiyu
        24
    beiyu  
       2019-02-20 11:55:21 +08:00
    @shapl #23 sessionid 加在 cookie 中和 url 中基本是没有区别的 都是显性可见的
    shapl
        25
    shapl  
       2019-02-20 11:57:25 +08:00
    @beiyu #24 普通用户会复制 cookies 出去分享?还是复制 URL 出去分享,串号。。。
    beiyu
        26
    beiyu  
       2019-02-20 12:04:27 +08:00
    @shapl #25 也是哦 那如果真要在 url 中传输 sessionid 的话 后端需要做进一步验证了 例如 IP...不过好像也是不安全的
    tanranran
        27
    tanranran  
       2019-02-20 12:04:35 +08:00
    @wu67 #22 #22 IE6
    morethansean
        28
    morethansean  
       2019-02-20 12:05:16 +08:00
    @beiyu 所以我看到一个好的物品把 url 发给朋友,他就登录我的账号了?
    这权限直接加在 url 中,在现在的网络环境下不被喷爆?
    beiyu
        29
    beiyu  
       2019-02-20 12:07:06 +08:00
    @morethansean #28 嗯是的 如果后端不进一步验证的话 这样对普通用户来说确实是不安全的
    luoway
        30
    luoway  
       2019-02-20 12:09:09 +08:00
    这个问题本质上是问 web 前端有哪些跨页面存储的方案。
    考虑一下岗位性质,面试官对该问题的重视程度,评估一下面试官水平吧
    lhx2008
        31
    lhx2008  
       2019-02-20 12:26:51 +08:00
    跟踪用户无非就三种方法
    1. Cookie
    2. SeesionId 挂在参数上,全部 a 链接都要修改
    3. SeesionId 存到 localStorage 里面,由 js 脚本主动发起 ajax 请求登录

    所以楼主想选哪种都行
    lhx2008
        32
    lhx2008  
       2019-02-20 12:29:00 +08:00   1
    @lhx2008 当然,既然楼主说了 “但是”,那么就必须三种方法都要加上,然后再加个降级策略,否则,但是, 关掉 Cookie 的 IE6 就登录不了了。
    otakustay
        33
    otakustay  
       2019-02-20 12:42:58 +08:00
    @reus 我不认同这个前提,在我看来楼主就是惊讶于京东居然没有做禁用 cookie 的降级措施
    wolfie
        34
    wolfie  
       2019-02-20 12:55:42 +08:00
    很正常啊,天猫也一样。
    580a388da131
        35
    580a388da131  
       2019-02-20 13:14:29 +08:00 via iPhone
    禁用第三方后,淘宝也不能用了。
    reus
        36
    reus  
       2019-02-20 13:47:08 +08:00
    @otakustay http-only 的 cookie 是现在唯一值得采用的保存验证信息的措施,其他任何所谓“降级措施”都是自讨苦吃。
    kernel
        37
    kernel  
       2019-02-20 15:15:28 +08:00 via Android
    @lhx2008 本地存储不是只有 cookie, localstorage 和 indexeddb 都行,做成 webapp 的话可能还更方便
    mokeyjay
        38
    mokeyjay  
       2019-02-20 15:43:32 +08:00
    能说说你为什么非要禁用 Cookie 吗?
    xfspace
        39
    xfspace  
       2019-02-20 18:29:57 +08:00 via Android
    Sessionid 放 URL,能接触日志的可提 URL 去下单

    @beiyu
    Liang11734
        40
    Liang11734  
    OP
       2019-02-20 19:48:16 +08:00
    @mokeyjay:其实这是一个面试问题
    wangxiaoaer
        41
    wangxiaoaer  
       2019-02-20 20:28:47 +08:00
    @est #21 不同意网站的协议,凭什么用人家的网站。
    rockss
        42
    rockss  
       2019-02-20 22:35:16 +08:00
    给你还是给 JD。
    给你:换 APP 啊!
    给 JD:给了有没人理我。
    est
        43
    est  
       2019-02-21 09:51:44 +08:00
    @lhx2008 这三种方法之外其实也有办法的。

    比如我返回一个 etag。浏览器下次会返回 if-modified 什么的。
    lhx2008
        44
    lhx2008  
       2019-02-21 09:53:10 +08:00
    @est 这个我好像真没想过,好像理论上也没有问题
    lhx2008
        45
    lhx2008  
       2019-02-21 09:56:21 +08:00
    @est 不过似乎每次都要发一个新 etag,这个跟踪成本有点高。
    est
        46
    est  
       2019-02-21 10:06:08 +08:00
    @lhx2008 写个中间件不是什么难事。成本还行。这只是思路之一。办法可多了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1213 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 23:40 PVG 07:40 LAX 15:40 JFK 18:40
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86