美文网首页程序员
短信验证码设计.md

短信验证码设计.md

作者: 7f2aceb77681 | 来源:发表于2018-08-03 20:04 被阅读54次

[TOC]

手机号一直被当作一种用户身份标识,所以产品设计中验证用户身份,通常会通过发送一串动态密码(一般是6位随机数)到用户手机号,用户收到验证码并发回,即可验证是本人。

  1. 通过手机号验证是否是本人操作;
  2. 验证手机号正确,并获取手机号用作后续业务需要;
  3. 手机号作为登录帐号使用,支持手机号+动态密码登录;
  4. 绑定手机号,后续可通过手机号找回密码,发送促销短信通知等;

PS:在移动端,其实用于用户身份验证的方式还有很多,如指纹识别、人脸识别、sim卡验证、第三方授权登录(如微信授权登录、微博授权登录等),用户体验上比传统的短信验证好太多了。比如电信营业厅客户端就支持快捷免密登录,其实就是通过sim卡验证自动获取手机号信息。

一、短信安全设计

1. 防止CSRF攻击:增加来源验证

CSRF全称为Cross Site Request Forgery,翻译成中文是跨站点请求伪造,是攻击者通过伪装受信任的用户,发起恶意请求攻击,这有可能导致短信接口被恶意使用,群发短信,骚扰用户。

防止CSRF攻击的方法有很多:

  • 站点使用ssl协议;
  • 页面使用token验证机制;
  • 验证HTTP Referer来源;

2. 增加图形验证码:防止机器人访问

为需要短信发送功能的页面,增加图形验证码,要求图形验证码输入正确,才能进行短信验证码的获取,这样可以有效防止机器人的访问。

当然现如今的图形识别、图形库训练已经很成熟,机器人已经可以做到市面上很多图形验证码的识别,成功率99%。

3. 限流:单位时间内限制重复请求及请求数量

记录设备号、客户端IP、用户微信号等识别客户端身份标识,不允许客户端在单位时间重复发起请求,并限制客户端1小时、1天的请求数,比如60秒内不允许重复请求短信接口,一天内只允许请求短信接口20次。

4. 手机号限制:60秒倒计时及24小时发送量

针对同一个手机号,限制24小时短信发送量,限制60秒内只能发送一次(请求运营商短信接口可能存在延迟,预计60秒送达);

5. 短信告警机制

一般公司会搭建短信网关,供各业务系统调用,因此需要在网关上增加短信发送接口的监控告警,防止恶意请求,有时危险往往来自内部:)

二、用户交互设计

短信验证码验证流程

相关文章

  • 短信验证码设计.md

    [TOC] 手机号一直被当作一种用户身份标识,所以产品设计中验证用户身份,通常会通过发送一串动态密码(一般是6位随...

  • houyi平台-核心功能-认证授权&鉴权

    背景 设计 认证authentication用户名&密码(验证码)短信验证码 授权authorize基于角色用户 ...

  • 生产力工具之云片短信平台-模板管理

    四步搞定短信验证码如何搞定短信验证码签名和模板如何使用云片API发送短信验证码Java实现短信验证码和国际短信群发...

  • 什么是创新?

    减少人操作和时间的设计和技术就是创新。 输入验证码 以前是验证码短信来了,用户读取数字并手动输入。现在是短信来了,...

  • 短信API实现自动化短信发送

    短信验证码接口示例,如何接入短信API接口实现短信自动发送功能; 网站如何实现自动发送短信验证码的功能,短信验证码...

  • 接入短信API,免费试用

    短信验证码接口示例,如何接入短信API接口实现短信自动发送功能; 网站如何实现自动发送短信验证码的功能,短信验证码...

  • UI-短信验证码界面设计-2018-06-01

    工作需求,需要设计一个短信验证码界面。因为这个界面只有一个输入短信验证码框,做成一个界面有点显得很空荡。所以,我设...

  • 还有人不认识通讯诈骗,短信验证码带你认识一下

    首先进行一下自我介绍,短信验证码本码。 短信验证码:网站或者客户端应用需要接入短信验证码(手机验证码)的功能,可以...

  • Django相关技术点文档

    Django总结 发送短信: 检查确认图片验证码 检查60s内是否发送过 否生成短信验证码 保存短信验证码以及发送...

  • 手机号+短信验证码登录方案要考虑的问题

    在移动端产品设计中,手机号+短信验证码登录为我们提供了另一种登录方式.这种方式具备的特征有:1、短信验证码具有时效...

网友评论

    本文标题:短信验证码设计.md

    本文链接:https://www.haomeiwen.com/subject/sghwmftx.html