短信会员的问题 -----------------报错  -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

短信会员的问题 -----------------报错 

kun坤 2020-06-10 09:38:09 57

问题1:

场景:  用手机号注册的时候,如何触发并返回短信验证码 是根据对方的SDK来操作吗?

问题2: 

场景:当用户在我网站上写  明天下午3点短信提醒我吃药,那么我的服务器是单独定时执行一个任务去触发3点发这个手机号一个短信。 如果这样,那几百个会员写事情,那我岂不是每秒要检查下服务器?

问题3:

场景: 以后到底是 手机短信作为密码可以直接登陆(手机号作为ID)。 还是 只能使用密码进行登陆。(验证完手机之后)
还是以后 手机短信验证码和手机密码并行 都可以登陆。  

这个表该如何设计?

开发工具 数据安全/隐私保护
分享到
取消 提交回答
全部回答(1)
  • kun坤
    2020-06-11 10:43:41
    1. 提交注册表单到后端处理时,调用第三方短信服务(手机号码,后端生成验证码),限制多少时间内重发。验证码可以保存数据库中有效时间,或者session中设置过期时间
    2. 问题有些太开放,宽松制约。重新考虑一下需求;如你所说的确实是个问题。或者其他人解答一下
    3. 手机号码注册,短信只作验证功能(省事,用户群体比较有质量,手机号码唯一性,防止恶意刷注册用户数)/邮箱验证也可以,用户体验上手机较好(后期还可以通过手机号码去分析用户)
      如果每次登陆都用短信验证码(短信服务还是要钱的...这个一天登陆一多就懂) ######首先 非常感谢你这么认真的回答。 我看完后 再回复你。先谢谢你###### 1. 你们服务端生成 短信 内容 提交到他们那,验证码可以放到缓存里,用户确定的时候检查缓存.
    4. 写一个公共的服务组件, Linux可用crontab Win可用定时任务,在指定时间段内 每分钟查询下数据库,提交到短信提供商.
    5. 最好不要使用短信登陆. ######关于问题1 ,一般都是用户前台输入手机号,点击获取验证码按钮后先在自己服务器根据短信服务商的接口规范生成url(包括验证码的生成,生成之后保存在session或者数据库中),然后用curl发请求,收到一个唯一的短信id就表示发送成功了(但是有可能是对方服务器出了问题,收到了id用户还没收到短信,我遇到过这个问题,最后他们换了一个线路解决了)######

    引用来自“p2ng”的评论

    1. 提交注册表单到后端处理时,调用第三方短信服务(手机号码,后端生成验证码),限制多少时间内重发。验证码可以保存数据库中有效时间,或者session中设置过期时间
    2. 问题有些太开放,宽松制约。重新考虑一下需求;如你所说的确实是个问题。或者其他人解答一下
    3. 手机号码注册,短信只作验证功能(省事,用户群体比较有质量,手机号码唯一性,防止恶意刷注册用户数)/邮箱验证也可以,用户体验上手机较好(后期还可以通过手机号码去分析用户)
      如果每次登陆都用短信验证码(短信服务还是要钱的...这个一天登陆一多就懂)

    回复1:
    一般大家的普通做法是 保持数据库中还是SESSION中 还是内存中啊。  验证码好像就是临时的吧。
    这个手机验证码 是需要我自定义生成吗? 我做过登陆图形验证码。用户输入后判断下。就行。提交一次重新生成。 但这个貌似可以提交多次,直到你输入正确的短信验证码是吧?

    回复2:
    举个简单例子吧: 我加入要做个提醒的功能。  我在web网站上 设置好时间,设置后内容。然后我当天那个时间收到这个短信内容。 我就是提供给会员这个事情。  比如我做一个比赛预告的WEB页面,用户点击比赛前1小时短信提醒我。 

    回复3:
    每次短信登陆的确很麻烦也很费钱。 但类似微博就是这种的啊。
    可以提供手机短信登陆的啊。
    短信登陆唯一好处就是 用户注册/登陆都一样的,这样用户注册的时候就没有密码设置这一项,用户第一次实用的体验度会很好。。。。 ######

    引用来自“金马超”的评论

    1. 你们服务端生成 短信 内容 提交到他们那,验证码可以放到缓存里,用户确定的时候检查缓存.
    2. 写一个公共的服务组件, Linux可用crontab Win可用定时任务,在指定时间段内 每分钟查询下数据库,提交到短信提供商.
    3. 最好不要使用短信登陆.

    回复1:
    大体思路我明白了,只是之前没做过短信注册这个模块。 我看看第三方1069通道的 应该不难。
    或者网上搜搜下

    回复2:
    linux的crontab定时任务和win我都会,但我的意思是 一个用户 写周四下午3点 那我这边就执行一个定时任务会不会太浪费了?也太多了?
    或者你说,每分钟查下数据库 也就是每隔一分钟执行一个php脚本文件,遍历循环下? 有的话就发 没有的 就不发。 就等于轮询?
    这样是不是很耗费服务器资源? 有没有其他解解方法

    回复3:
    你的意思是 短信注册可以,然后引导用户设置密码。 但手机短信登陆不建议ma?
    但我的意思,像weibo就是手机短信验证码直接登陆 携程也是这样
    还有一种是你说的只能手机+密码来登陆
    那我的意思是,如果二者并行,怎么设计这个表。。。 ######

    引用来自“西南茂”的评论

    关于问题1 ,一般都是用户前台输入手机号,点击获取验证码按钮后先在自己服务器根据短信服务商的接口规范生成url(包括验证码的生成,生成之后保存在session或者数据库中),然后用curl发请求,收到一个唯一的短信id就表示发送成功了(但是有可能是对方服务器出了问题,收到了id用户还没收到短信,我遇到过这个问题,最后他们换了一个线路解决了)

    回复1:
    你的流程是   用户填手机号---》用户点击提交获取验证码--》服务器生成一个验证码---》这个验证码通过sdk 用curl发送到短信运营商---》短信运营商服务器收到后发到用户手机号上---》 用户收到输入这个验证码--》我们后台核对  OK?

    ######对,差不多就是这个流程######

    引用来自“金马超”的评论

    1. 你们服务端生成 短信 内容 提交到他们那,验证码可以放到缓存里,用户确定的时候检查缓存.
    2. 写一个公共的服务组件, Linux可用crontab Win可用定时任务,在指定时间段内 每分钟查询下数据库,提交到短信提供商.
    3. 最好不要使用短信登陆.

    引用来自“kacc850”的评论

    回复1: 大体思路我明白了,只是之前没做过短信注册这个模块。 我看看第三方1069通道的 应该不难。 或者网上搜搜下

    回复2:
    linux的crontab定时任务和win我都会,但我的意思是 一个用户 写周四下午3点 那我这边就执行一个定时任务会不会太浪费了?也太多了?
    或者你说,每分钟查下数据库 也就是每隔一分钟执行一个php脚本文件,遍历循环下? 有的话就发 没有的 就不发。 就等于轮询?
    这样是不是很耗费服务器资源? 有没有其他解解方法

    回复3:
    你的意思是 短信注册可以,然后引导用户设置密码。 但手机短信登陆不建议ma?
    但我的意思,像weibo就是手机短信验证码直接登陆 携程也是这样
    还有一种是你说的只能手机+密码来登陆
    那我的意思是,如果二者并行,怎么设计这个表。。。

    1. 写成一个公共的组件...   这个服务从指定的一张表里查询数据
      eg  ID 内容 下发时间 手机号 ...
      只要代码没问题的话  对服务器来说不会是什么太大的问题.
    2. 嗯   是这样的,不建议短信登陆,可以用短信找回密码.
      你们公司不是微博/携程,没人家那种财力,最好不要这么做,
      而且短信这个行业也不是你想的那么简单,提交就能发的.
      如果要并行的话,单独建立一张表用来记录短信登陆比较好.
      用户表只放基本信息,短信登陆表 带上用户名,手机号,登陆时间,IP可有可无. 和用户表稍微关联下就行. ######硕达通短信平台,发验证码5秒到,发通知5秒到,速度快,到达率98%以上,成功计费(失败不计费)实时状态报告(成功失败一目了然)支持上下行 北京硕达通  www.shdat.com  买短信有红包!######凌凯短信:快/3秒响应 ·12年品牌塑造,三网(移动、联通、电信)通道,覆盖所有手机号码 ·3秒快速响应,行业领先(www.028lk.com)######雨林木风短信平台,三网合一,五秒达到,到达率99%,欢迎站内信哟~~~~
    0 0
+ 订阅

云安全开发者的大本营

推荐文章
相似问题