求C/S 下高效的注册限制机制

tempestlxc 2012-06-13 10:49:11
最近接触个项目碰到个问题项目是CS结构的Android移动应用项目,我负责服务端。
这个应用是需要注册的,这个问题就出在注册上了。为了节省请求次数,而且避免接口被劫持后刷注册这种情况的出现,就要有注册限制,在这点上苦恼了很久。现在我自己想到了两种方法,
1、像所有网站一样由服务端发送验证码。

弊端是:会增加一次请求而且会造成流量浪费。


2、客户端和我(服务端)约定一种一时间戳为基础的加密方法,然后用MD5加密之后当作验证参数一起传到服务端。

例如:客户端生成算法 时间戳*8-9+2 ,服务端用你算法还原时间戳

这个就比较接近需求了但是个人觉得还是略有不妥~~~
现在求助大家有没有啥其他办法捏~~~~~多多益善~~~~~
...全文
93 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tempestlxc 2012-06-13
  • 打赏
  • 举报
回复
啊~~对啊~~我自己就把手机调快了5分钟……………………

呃~~~唉~~~分析的很对呀……但是我们老板说客户端出现验证码非常奇怪……所以唉~~我们也很愁啊~~~



[Quote=引用 3 楼 的回复:]

1分钟都不靠谱,我知道不少人喜欢把手机时间调快5分钟的,你咋整?

代理地址关系不大,其实我也不主张直接限制IP;但是同一IP重复注册,你弹个验证码就没啥关系了嘛。

这类通用性功能,建议还是参考业界主流做法就行了,没必要自己创新,风险也很高。
[/Quote]
MiceRice 2012-06-13
  • 打赏
  • 举报
回复
1分钟都不靠谱,我知道不少人喜欢把手机时间调快5分钟的,你咋整?

代理地址关系不大,其实我也不主张直接限制IP;但是同一IP重复注册,你弹个验证码就没啥关系了嘛。

这类通用性功能,建议还是参考业界主流做法就行了,没必要自己创新,风险也很高。
tempestlxc 2012-06-13
  • 打赏
  • 举报
回复
呃~~~~~~~~~方法2 服务器验证的时候会规定时间,在1分钟内的验证有效。的确是最大的缺点就是被破译。IP地址做限制也想过。但是这是移动客户端IP地址不可控啊~~~可能好多手机都是用个代理地址之类的。所以IP这个不是很行得通……[Quote=引用 1 楼 的回复:]

基本上1应该是比较主流的了。

另一种折中的做法是,如果发现同一IP地址连续注册,再开始要求输入验证码。

更狠点直接限制同一IP地址注册,当然对于会篡改自己IP地址的就无效了。


方法2是,如果被人破解出规则,那么就又随意可以注册了。另一个问题是时间戳的话,服务器端跟客户端是不一样的,如果你是把服务器时间发给客户端那又面临被截获的问题,所以也会比较头疼。
[/Quote]
MiceRice 2012-06-13
  • 打赏
  • 举报
回复
基本上1应该是比较主流的了。

另一种折中的做法是,如果发现同一IP地址连续注册,再开始要求输入验证码。

更狠点直接限制同一IP地址注册,当然对于会篡改自己IP地址的就无效了。


方法2是,如果被人破解出规则,那么就又随意可以注册了。另一个问题是时间戳的话,服务器端跟客户端是不一样的,如果你是把服务器时间发给客户端那又面临被截获的问题,所以也会比较头疼。
MiceRice 2012-06-13
  • 打赏
  • 举报
回复
另外就是,你的Android程序能否获取些设备信息,比如Mac地址、手机号码、手机序列号之类的,用这个来进行唯一标识,如果发现重复注册,再弹验证码。可以防范初级破坏者。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧