1.背景介绍
为什么要使用登录?
按照Restful风格设计出来的接口,都可以通过url直接访问。
但是实际上,存在一种状态就是并不是所有的信息都需要暴露出来,有一些是个人的信息需要权限才可以查看,防止被盗取,这个时候就需要登录来验证用户是否有权限查看
2.知识剖析
注册的逻辑
---注册信息不能为空
---注册信息符合格式
---注册邮箱或者手机有效性验证
---密码不以明文保存在数据库
---注册用户名唯一
登录逻辑
---登录信息不能为空
---登录用户名有效性验证
---登录有效期
3.常见问题
如何防止软件恶意攻击邮箱和短信接口
4.解决方案
1.图形校验码和手机验证码进行绑定,当用户输入手机号码以后,需要输入图形校验码或者根据图形进行某种逻辑运算(比如25 + 壹 = ?)才可以触发短信,这样能比较有效的防止软件恶意点击。
2.触点验证:让用户选择某个指定的某些图标或文字,典型案例有12306火车售票,不过用户体验会受到比较大的影响,效率和安全很多时候就是一对矛盾体。特别是要求选择的物品比较奇葩的时候,在某种程度上“伤害”了最普通的用户。
3.滑动验证:目前越来越流行的方式,主要是通过鼠标拖动来实现验证, 对于普通的图形验证码容易被各种暴力机械破解,而滑动验证只能监听鼠标动作,不能通过数据验证,达到防止机械破解的作用。
5.编码实战
6.扩展思考
7.参考文献
聊聊短信接口攻击的防范方案 https://blog.csdn.net/gongchangxiaoli/article/details/80130868
8.更多讨论