Liang11734
V2EX  ›  京东

Cookie 禁用后,无法登录京东

  •  
  •   Liang11734 · Feb 20, 2019 · 8158 views
    This topic created in 2819 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

    比如我返回一个 etag。浏览器下次会返回 if-modified 什么的。
    lhx2008
    lhx2008
    Feb 21, 2019
    44
    @est 这个我好像真没想过,好像理论上也没有问题
    lhx2008
    lhx2008
    Feb 21, 2019
    45
    @est 不过似乎每次都要发一个新 etag,这个跟踪成本有点高。
    est
    est
    Feb 21, 2019
    46
    @lhx2008 写个中间件不是什么难事。成本还行。这只是思路之一。办法可多了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3909 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 1072ms · UTC 05:59 · PVG 13:59 · LAX 21:59 · JFK 00:59
    ♥ Do have faith in what you're doing.