首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
拉勾
V2EX  ›  京东

Cookie 禁用后,无法登录京东

  •  
  •   Liang11734 · 34 天前 · 3178 次点击
    这是一个创建于 34 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

    比如我返回一个 etag。浏览器下次会返回 if-modified 什么的。
        44
    lhx2008   33 天前
    @est 这个我好像真没想过,好像理论上也没有问题
        45
    lhx2008   33 天前
    @est 不过似乎每次都要发一个新 etag,这个跟踪成本有点高。
        46
    est   33 天前
    @lhx2008 写个中间件不是什么难事。成本还行。这只是思路之一。办法可多了。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3942 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 21ms · UTC 06:28 · PVG 14:28 · LAX 23:28 · JFK 02:28
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1