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

9 月 7 号关于知乎客户端 app 下线的技术细节是如何实现的?

  •  
  •   wanttofly · 2016-09-08 09:36:43 +08:00 · 10724 次点击
    这是一个创建于 3002 天前的主题,其中的信息可能已经有所发展或是发生改变。

    相关帖子: https://www.v2ex.com/t/304546

    知乎官网公告链接: https://zhuanlan.zhihu.com/p/22351535

    在文章里介绍了几个地方,在 iOS 和 Android 端是如何实现的,在服务器端是如何处理的?

    1.工程师团队迅速进行了故障筛查。同时,为避免后续较大范围的影响和用户隐私泄露,我们对移动客户端服务做了紧急下线处理。( app 可以正常进入,但无法显示内容,只会显示似乎出了点问题)

    2.知乎的同学对此深深不安,我们对数据展示错乱情况进行了筛查,强制在该时段访问知乎的用户重新登录,来尽量减少用户的隐私泄露风险(难道说预留了接口还是说其他方式,比如热修复?)

    更多的还没发现,期待补充

    17 条回复    2016-09-09 11:57:28 +08:00
    z5864703
        1
    z5864703  
       2016-09-08 10:03:41 +08:00   ❤️ 1
    1.把内容接口都关了不再响应请求
    2.把服务器存的用户登录状态全部清空
    wipen
        2
    wipen  
       2016-09-08 10:04:32 +08:00
    @z5864703 正解
    lincanbin
        3
    lincanbin  
       2016-09-08 10:04:33 +08:00   ❤️ 1
    1 、 API 服务器断网。
    2 、数据库删除指定时段产生的 token 。

    这玩意儿算技术细节吗?
    zhouquanbest
        4
    zhouquanbest  
       2016-09-08 10:05:05 +08:00   ❤️ 1
    来自 app 的请求全 refuse
    token 清空不就完了
    linuxchild
        5
    linuxchild  
       2016-09-08 10:06:23 +08:00 via iPhone   ❤️ 1
    这里说的下线其实有点给人造成误解的意思,其实只是服务器停止响应了…
    wipen
        6
    wipen  
       2016-09-08 10:06:36 +08:00   ❤️ 1
    没什么技术难度吧,就让几个关键的接口返回错误码。服务端存储的登录 token 清空,客户端访问接口时 token 不正确,只能重新登录了。

    讨论这个不如讨论产生这个问题的原因有意义~
    wanttofly
        7
    wanttofly  
    OP
       2016-09-08 10:19:03 +08:00
    @z5864703
    @lincanbin
    @zhouquanbest
    @wipen 对后台没什么具体了解,想学习下,感谢回复。本来我的想法是移动端代码是写死的,不像 web 可以随时更改,这样的问题测试时如果没有预想到不知道该怎么处理。非常感谢答疑。
    xcodebuild
        8
    xcodebuild  
       2016-09-08 10:26:04 +08:00   ❤️ 1
    不就是把 token 全部作废了么。。
    qiyuey
        9
    qiyuey  
       2016-09-08 10:27:45 +08:00   ❤️ 1
    继续努力吧 骚年
    wanttofly
        10
    wanttofly  
    OP
       2016-09-08 10:31:02 +08:00
    @wipen 刚才看到关于原因知乎给了这么一条解释: http://d.pr/i/1fWUE
    xieranmaya
        11
    xieranmaya  
       2016-09-08 10:36:58 +08:00   ❤️ 1
    不同的版本在请求 api 的时候肯定会在 HTTP 请求头里带上版本信息,在服务器上过滤掉对这个版本的响应就可以了嘛
    kenshinhu
        12
    kenshinhu  
       2016-09-08 10:47:36 +08:00
    因为触发了请求缓存导致串号
    killerv
        13
    killerv  
       2016-09-08 14:14:29 +08:00
    这个有什么技术难点吗,很多方式可以实现-。-
    GhostFlying
        14
    GhostFlying  
       2016-09-08 14:23:26 +08:00 via Android
    一般是后端直接关了接口,以及客户端如果需要也可以随时 hotfix ,国内公司这一套不是很熟练么
    wibile
        15
    wibile  
       2016-09-08 14:35:38 +08:00
    少年,一听这问法就知道你是前端吧。。。。。
    ouqihang
        16
    ouqihang  
       2016-09-08 22:26:25 +08:00
    只知道现在还有问题,推送还是乱的。
    wshcdr
        17
    wshcdr  
       2016-09-09 11:57:28 +08:00
    改下 token 就行了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3841 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:30 · PVG 18:30 · LAX 02:30 · JFK 05:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.