iOS 开发者初学服务端,有几个小问题虚心请教各位同学,望无情鞭笞~ - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xx314327475
V2EX    问与答

iOS 开发者初学服务端,有几个小问题虚心请教各位同学,望无情鞭笞~

  •  
  •   xx314327475 2015-07-01 15:59:57 +08:00 2071 次点击
    这是一个创建于 3833 天前的主题,其中的信息可能已经有所发展或是发生改变。
    0x00背景介绍

    楼主是一个iOS开发工程师,最近有一个小创意,需要服务器编程,于是从头学习,在实践的过程中遇到一些逻辑和技术的问题,虚心请教大家。由于是新手,身边也缺乏服务器厉害的伙伴,所以下面的问题有可能很幼稚。
    我的服务器的编程语言Java,服务器采用的框架为Spring(IoC和MVC)+MyBatis。
    创意App需要实现一个用户注册的功能,和用户之间需要相互聊天的功能。

    0x01加密数据实现方案

    我们所考虑的安全方案类似微信开放平台的做法:

    signature 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
    timestamp 时间戳 :当前时间确保在一定时间内,比如在60秒内这个请求才有效
    nonce 随机数
    echostr 随机字符串


    问题1:我所理解的signature是一个 将token,timestamp和nonce通过sha1加密字符串,那么这个加密算法在iOS端,通过什么途经和技术进行最大程度的保密?

    问题2:nonce和echostr其中有一个是用于确保请求在60秒内只处理一次,以免多次提交产生多次功能,那么他们其中的另一个是做什么的呢?

    问题3:服务端要实现“确保请求在60秒内只处理一次”这种功能,有没有什么好的实现方案呢?

    0x02用户注册实现方案

    我们会在用户登陆成功的时候,返回一个token给用户,其作用也是用于验证后续的请求都是该登录用户发起的,这个token目前我看到两种方案。

    第一种:有人说是用服务端的session的session id当做是token。
    问题4:但是服务端的session是由生命周期,当session销毁了,难道要这么用户重新登陆么?如果不销毁,恐怕服务器内存会吃不消,你们是怎么考虑的?

    第二种:用户登录后自己生成token,并且保存再用户表中,然后在服务器内存缓存中保存,用户近期访问的验证都在内存中完成验证,该内存缓存的生命周期由我自己控制。

    问题5:这样的方案可行么?

    问题6:大家有什么好的方案请提出来,让菜鸟学习下。


    0x03参考文献

    http://www.v2ex.com/t/166882
    http://mp.weixin.qq.com/wiki/4/2ccadaef44fe1e4b0322355c2312bfa8.html
    4 条回复    2015-07-02 12:48:41 +08:00
    SHIMLY
        1
    SHIMLY  
       2015-07-01 18:08:02 +08:00   1
    估计大神看了你帖子 都不屑回复。就让我这个小菜鸟来试试
    我也是搞ios的 服务器是用PHP写。
    问题一 signature 不一定是sha1加密的 像腾讯这种大公司 估计内部有自己的加密算法。至于"那么这个加密算法在iOS端,通过什么途经和技术进行最大程度的保密? "没明白 是啥意思
    问题二 问题三 没看懂

    token 一般我都是 根据用户登录时候的 用户名、密码、时间戳、有时候也有经纬度 加密 生成一个token。

    服务器端 也不是特别懂。答案仅供参考。
    hdbean
        2
    hdbean  
       2015-07-02 09:25:09 +08:00   1
    现在好多APP都是三方授权登陆,没有自己的一套用户系统
    xx314327475
        3
    xx314327475  
    OP
       2015-07-02 12:48:27 +08:00
    @hdbean 我是想自己做这么一套用户系统,感谢回复
    xx314327475
        4
    xx314327475  
    OP
       2015-07-02 12:48:41 +08:00
    @SHIMLY 感谢回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5497 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 06:06 PVG 14:06 LAX 22:06 JFK 01:06
    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