短信相关的功能在产品设计中是非常频繁和重要的一项。本文对短信管理的功能进行了梳理,从推送类型、尝试和分类、应用展开叙述,希望对你设计短信推送功能有所帮助。
作为产品经理,在产品设计中,我们通常都不能忽视短信这一通信方式,未来会不会被淘汰不知道,但至少在目前来看,其在设计产品中依然有着重要作用。
前阵子刚好做了短信管理相关的功能,以下将对短信的相关知识进行梳理,从常见的推送类型、短信推送的定义和常识、短信推送流程、短信形式和分类、短信的应用展开进行描述,希望对你设计短信推送功能有所帮助。
一、常见的推送类型
通知是产品中极其重要的一部分,它能快速将内容的状态及变化通过不同的方式传达给用户,以便用户在收到信息后根据所传递的内容及时做出应对策略,消息通知渠道分为应用内通知、应用外通知
应用内通知主要来源于消息中心或系统主动触发的弹窗来体现
应用外通知包括桌面图标红点、手机短信、电子邮件、push、公众号信息(需绑定)等渠道推送。
手机 app 站内推送:消息功能入口(小红点)、消息列表、弹窗通知、toast 通知
手机 app 站外推送:桌面小红点、push 推送、手机短信、电子邮件、公众号消息
二、短信推送的定义与常识
1、短信推送:通过运营商将文本或数字消息传递至用户手机或其他电信终端
2、签名:签名是指短信开头,【】内的企业品牌信息,比如:【京东】、【中国银行】等
3、短信 sp:指短信服务商,一般企业不太会直接对接三大运营商来实现短信发送,需要有一个中间的服务商将各地区的运营商资源整合后提供统一、便捷的短信服务,这类服务商叫短信 SP,不属于运营商,但其中有一部分地区运营商也会自行开展这部分业务,具有运营商属性。
4、码号:手机终端接收到的短信显示的发送方号码。比如 10086、95555、1069XXXX 等。一般把 8 位以内的号码称为短号,比如 95 开头的短号的申请需要向工信部单独申请,批复使用。常见的 1069 号段的长号码相对管控较松,对应的短信发送服务商自行向运营商申请报备即可。
5、回执:当消息通过运营商下发至手机终端后,运营商会把这条消息是都真正下发给手机的状态按照发送流程逆向返回给发送者,这样的消息叫做回执,用于确定此条消息是否真正下发给了终端,用于计费等场景
6、上行:用户回复给发送者的消息的流程叫做上行,主要的场景应用在“回 T 退订”,“回 KT 开通”等
三、短信推送流程
短信推送的流程主要分为下行和上行两个方向:
1、短信下行:
从企业侧发起,将相关消息提交至代理商侧或直接提交运营商网关。
运营商网关再根据手机当前所在区域对应基站,将短信下发至用户。
2、短信上行:
上行的流程主要是与下行流程相反,从用户侧发起消息。
四、短信形式和分类
1、短信形式
(1)文本短信:最常见的短信形式,只包含文字信息,通常用于发送简短的消息、通知或提醒。
(2)彩信:彩信除了包含文字信息外,还可以附加图片、音频、视频等多媒体内容。这种形式的短信可以更加生动、直观地传达信息。
(3)闪信:闪信是一种特殊的短信形式,通常用于提醒用户查看重要的信息。与常规短信相比,闪信在显示时会有特殊的提示效果,如震动、闪烁等。
2、短信分类
(1)广告营销类短信:主要用于推广产品、服务或促销活动。这种短信通常由商家或企业发送,通过吸引用户的注意力来提高销售额。
(2)通知类短信:主要用于传递与用户相关的信息,如订单状态、物流信息、账户安全提示等。这种短信通常是由与用户有业务往来的平台或应用发送。
(3)验证码短信:主要用于身份验证和账号安全。在用户注册、登录、找回密码或进行敏感操作时,平台或应用会发送验证码短信到用户的手机上,以确保用户身份的真实性。
(4)节日祝贺祝福类短信:在特定的节日或纪念日,用户会收到来自亲朋好友或企业的祝福短信。这种短信通常包含节日问候、祝福语或感恩的话语。
(5)重大事件通知类短信:在发生重大事件或突发事件时,相关机构或部门会向公众发送通知短信,以提醒人们关注并采取相应措施。
此外,根据发送时间和目的的不同,短信还可以分为即时短信和定时短信。
即时短信是指发送后对方立即就能收到的短信,通常用于紧急通知或提醒。
定时短信则是可以在指定的时间自动发送的短信,常用于生日祝福、会议提醒等场景。
五、短信的应用
1、短信验证码
(1)短信验证码基础规则
①生成规则:
验证码应由系统随机生成,确保每次发送的验证码都是唯一的。
验证码的长度通常为 4 到 6 位数字或字母(也可以是数字与字母的组合),以提高安全性和用户输入的便捷性。
验证码应具有时效性,一般设置为几分钟内有效,过期后自动失效。
②发送规则:
同一手机号码在短时间内(如 1 分钟内)只能发送一次验证码请求。
对于连续多次发送验证码请求的情况,系统应设置一定的限制条件,如需要用户等待一段时间后才能再次发送请求。
系统应限制每天发送验证码请求的次数,以防止恶意攻击和滥用。
③验证规则:
用户输入验证码进行验证时,系统应验证用户输入的验证码与数据库中存储的验证码是否一致。
验证码验证一般只有一次机会,用户输入错误后需要重新获取验证码进行验证。
系统应设置验证码的有效期,超过有效期后用户需要重新获取验证码进行验证。
④安全性规则:
验证码的生成和发送过程应确保安全,避免被恶意攻击者窃取或篡改。
系统应使用 HTTPS 等安全协议进行数据传输,以保护用户数据的安全。
系统应定期更换验证码的生成算法和存储方式,以提高安全性。
⑤用户友好性规则:
验证码的发送和验证过程应尽可能简单明了,避免给用户带来不必要的困扰。
系统应提供清晰的错误提示信息,帮助用户快速定位和解决问题。
对于连续多次输入错误验证码的情况,系统应提供友好的提示和建议,引导用户正确输入验证码。
(2)短信验证码防攻击策略
短信验证码防攻击策略是为了确保短信验证码服务的安全性和可靠性,防止恶意攻击者利用验证码进行非法活动。以下是一些常见的短信验证码防攻击策略:
① IP 限制:
绑定短信验证码接口到一个或多个已知的、可信的服务器 IP 地址,对来自其他 IP 地址的请求进行限制或拒绝。
监控并限制单个 IP 地址的发送频率,防止恶意用户通过更换 IP 地址进行攻击。
②手机号码验证:
在接收手机号码的接口中实施号码有效性检查,屏蔽非手机号码的无效数字,如乱码等。
对于频繁请求验证码的手机号码,可以设置限制条件,如短时间内多次请求则暂停发送验证码。
③发送频率限制:
限制同一手机号码在一定时间(如 60 秒到 120 秒)内的验证码发送频率。
设置每日发送验证码的次数上限,超过限制则暂停发送。
该手段可以在一定程度上防止短信接口被恶意攻击,且对用户体验没有什么伤害。
但是不能防止黑客更换手机号进行攻击,防护等级较低。
④验证码有效期:
设置验证码的有效期,过期后验证码失效,需要重新获取。这可以防止验证码被截获后滥用。
⑤图形验证码:
在发送短信验证码之前,增加图形验证码校验步骤。这可以有效防止自动化攻击。
图形验证码的具体选用类型。有文字(字母数字)验证码、滑动验证码、选字验证码等,根据具体的业务场景来选取。
最好不要每次发送验证码的时候都要求输入图形验证码,可以给一个安全范围。不妨结合手机号限制、IP 限制来考虑,比如同一个手机号当天第 3 次获取图形验证码的时候,出现图形验证码;比如同一个 IP 地址当天获取验证码次数超过 100 次后,出现图形验证码。
(3)短信验证码设计
2、短信通知
短信通知的设计方案分为输入式发送、分组式发送、系统触发式发送。
(1)输入式发送
这种设计方案是在页面上直接输入发送对象。发送时可以直接把要发送的对象批量粘贴到输入框,点击后即可批量发送出去,其特征是支持批量、自由输入。通常情况下,可在此次设置批量导入按钮,解决了在系统中查找困难或没有的发送对象的问题,能够直接通过手机号快速发送短信
(2)分组式发送
这种设计方案是在页面提前配置好发送对象的分组,其特征是免输入。到了需要发送时,选择本次需要发送的对象组然后发送。
(3)系统触发式发送
系统触发式发送是指提前配置好约束条件和触发事件。与前面两者不同的是,系统触发式的发送不需要知晓具体的发送对象是谁,当触发此事件时,系统自动向满足条件的对象发送短信通知的方式,无需人工进行发送操作。
题图来自 Unsplash,基于 CC0 协议。