客户端 App(iOS)手机注册<验证码失效>怎么设计?

2015-01-14 11:25:51 +08:00
 zichen0422
我司App需要用手机号注册(还包括 找回密码, 更改手机号码, 更改密码等), 这其中会有个要求验证验证码<手机短信接收>, 如何做到验证这个发送过来的验证码是否已经失效了呢?

小弟认为服务端解决.<我把手机号跟验证码输入发送给服务端做识别>.
可是服务器的人说他解决不了<这让小弟很头疼>。
3686 次点击
所在节点    iDev
12 条回复
linKnowEasy
2015-01-14 11:30:04 +08:00
这个 谁发验证码 谁处理
zichen0422
2015-01-14 11:32:09 +08:00
@linKnowEasy 当然是注册的时候 <提交手机号给服务端, 然后服务器根据手机号使用短信接口发验证码了>。 哎...
zieglar
2015-01-14 11:33:29 +08:00
服务器生成验证码入库的时候设置失效时间,客户端提交验证码验证的时候检查时间是否过期,这么简单的逻辑。。。
zichen0422
2015-01-14 11:41:43 +08:00
@zieglar 这个方式不错, 关键人 只给我发个短信, 不给我接口返回信息......
zichen0422
2015-01-14 11:43:14 +08:00
@zieglar 而且选择的短信商对联通每天有限制短信次数, 超过次数不发短信 也不给人家返回接口信息了
zieglar
2015-01-14 16:33:05 +08:00
@zichen0422 验证这个过程是服务器的事情啊
你提交号码获取验证码-》服务器生成验证码,存储并设置失效时间,下发验证码-》客户端提交验证码-》服务器检查验证码是否正确、是否在有效期,返回是否通过验证或失败理由。
总不能验证码验证失败都不告诉你的吧,难道你是把验证码一起提交给服务器让服务器来发?
zichen0422
2015-01-14 16:52:31 +08:00
@zieglar 我跟服务端的人也是说这个流程,
他说 他只负责发验证码过来
json 的结构是 ---(另外还会负责发一条短信到手机端 , 验证码跟下面的message一样)

code = 0 /正确
message = 123456 /验证码
},

其他的就不管了.
他说客户端可以处理失效...
zichen0422
2015-01-14 17:14:52 +08:00
@zieglar 然后我就根据他接口返回的信息, 跟自己的输入做比对..... (有接口返回比刚开始没接口返回要好很多了).
zieglar
2015-01-14 18:16:11 +08:00
@zichen0422 那你就自己处理失效呗,有总比没有好
zakokun
2015-01-14 19:00:37 +08:00
这个必须服务器处理啊,客户端也应该处理,这样减少请求次数.但是最关键的还是服务端了
你们这服务器也太不靠谱了.
s1rius
2015-01-15 10:11:53 +08:00
那你们这验证码就跟没有一样,我直接截获你客户端验证完验证码之后发的请求,就能随便注册了。你应该去打后端的屁股。
zichen0422
2015-01-15 13:51:42 +08:00
@s1rius 感谢指点, 到时候我用你这个理由在会上跟他们说!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/162009

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX