服务端怎么做移动 App 的登录信息 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
simman
V2EX    程序员

服务端怎么做移动 App 的登录信息

  •  
  •   simman 2015-03-28 00:11:50 +08:00 2957 次点击
    这是一个创建于 3921 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请问大家都是怎么在服务端判断来路用户是否已经登录了?

    1、用Session的话,有可能会造成Session丢失,就算存数据库的话(或memcache redis),那么也会有过期时间,如果在时间内没登陆还是会丢,总不能设置太长吧??

    2、应用端登录成功以后,服务器返回session,然后每次客户端携带过去?这样的话只要是能抓到这个接口,岂不是可以随便搞了?还是我没理解 session/cookie?

    3、等你来答。

    先谢谢各位~

    12 条回复    2015-04-08 11:58:05 +08:00
    stackpop
        1
    stackpop  
       2015-03-28 00:18:23 +08:00
    2. 可以使用 https, 同时对整个请求的 body 使用公钥加密即可。 如果是明文传输,没有办法的,获取了 session 是可以随便搞的,运营商分分钟往你的网站里面插播广告。
    sumhat
        2
    sumhat  
       2015-03-28 00:21:16 +08:00
    把用户登录的信息使用不可逆的算法加密一下,存在 cookie 里,每次判断 cookie 的值即可
    GhostFlying
        3
    GhostFlying  
       2015-03-28 00:48:49 +08:00 via Android
    不是每次请求带 token么?要保证这部分不外泄就只有加密连接了
    simman
        4
    simman  
    OP
       2015-03-28 00:54:25 +08:00
    @stackpop 如果支持 IOS、Android的话,需要购买什么样的证书?大概需要多少钱/年? 如果使用 https以后,通过抓包软件会抓到什么样的数据呢?
    incompatible
        5
    incompatible  
       2015-03-28 00:59:28 +08:00
    1. 不一定非得用http session啊。每个用户登录时,随机生成一个unique的token,把它返回给客户端、以及与user_id一块扔到redis里。以后客户端每次请求都带上token,服务端便能从redis中获取该用户的信息

    2. 把客户端与服务器端通信加密可以解决你的问题。
    没必要用https啊。app是你自己的,所以自己生成公钥私钥,把公钥打包在app里就好了。
    SmiteChow
        6
    SmiteChow  
       2015-03-28 12:10:14 +08:00
    和web是一样的啊
    cfan8
        7
    cfan8  
       2015-03-28 23:51:48 +08:00 via Android
    @simman 便宜的几刀也有startssl这种不要钱的
    cfan8
        8
    cfan8  
       2015-03-28 23:52:56 +08:00 via Android
    @incompatible 加密不行的 有些运营商才不管你是api还是网页强行往里面插广告的,只有换端口和协议才行
    incompatible
        9
    incompatible  
       2015-04-08 00:10:19 +08:00
    @cfan8 application/octet-stream运营商也插得进广告?
    cfan8
        10
    cfan8  
       2015-04-08 01:51:58 +08:00 via Android
    @incompatible 才不管你内容,只要是HTTP随机插,结果就是应用崩掉
    incompatible
        11
    incompatible  
       2015-04-08 02:23:15 +08:00
    @cfan8 难以置信。
    如果是text/html,倒还可以插个div之类的
    二进制随机插,运营商到底图个啥??
    cfan8
        12
    cfan8  
       2015-04-08 11:58:05 +08:00 via Android
    @incompatible 不图啥 因为他们代码写的太垃圾,根本就你判断content type
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     890 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 23:28 PVG 07:28 LAX 15:28 JFK 18:28
    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