精华内容
下载资源
问答
  • 今天小编就以注册为例,和小伙伴们分享一下,如何通过手机号获取验证码来完成注册的一整套流程以及如何采用正则表达式来验证手机号码是否符合电信、移动、联通的规范。  首先我们需要做的第一步就是ApiClient里面...
  • 用户输入手机号码,激活码(可以理解为一个约束条件)后,点击获取验证码,向后台发送验证码请求,就可以从后台返回一个验证码哈希值(暂且定义为:et_token),后台请求短信验证码发送到用户手机上。用户填写验证码...

    直接画了张简单的示例图进行展示最终效果。

    用户输入手机号码,激活码(可以理解为一个约束条件)后,点击获取验证码,向后台发送验证码请求,就可以从后台返回一个验证码哈希值(暂且定义为:et_token),后台请求短信验证码发送到用户手机上。用户填写验证码后,就可以点击登录,登录的时候发送手机验证码和et_token校验请求
    在这里插入图片描述
    所以总共需要发送两个请求。

    请求方式是使用Xutils已经封装好的的http请求。可以点击查看:Android请求服务器获取短信验证码实现注册功能里面介绍的挺详细的。

    这里需要注意三个地方:
    第一点:Xutils网络请求,根据官网说明:在application中初始化:

    x.Ext.setDebug(BuildConfig.DEBUG)//是否输出debug日志, 开启debug会影响性能.

    或者添加以下代码来输出请求日志:

    RequestParams params = new RequestParams("请求地址");
    String str = String.valueOf(type);
    //需要携带的参数
    params.addBodyParameter("phone", phoneNumber);//手机号
    params.addBodyParameter("type", mEt_Code);//激活码
    params.setRequestTracker(new RequestTracker() {
        @Override
        public void onWaiting(RequestParams params) {
    
        }
    
        @Override
        public void onStart(RequestParams params) {
    
        }
    
        @Override
        public void onRequestCreated(UriRequest request) {
    
        }
    
        @Override
        public void onCache(UriRequest request, Object result) {
    
        }
    
        @Override
        public void onSuccess(UriRequest request, Object result) {
            Log.d(TAG, "onSuccess: 获取验证码UriRequest成功:"+result.toString());
    
        }
    
        @Override
        public void onCancelled(UriRequest request) {
    
        }
    
        @Override
        public void onError(UriRequest request, Throwable ex, boolean isCallbackError) {
    
        }
    
        @Override
        public void onFinished(UriRequest request) {
    
        }
    });
    

    第二点:xutils的http请求回调接口有两种形式:根据项目需求选择

    	//第一种
    	 //这里的 new Callback.CacheCallback<String>()是带有缓存数据功能的
        RequestParams params = getGLKTRequestParams(“接口地址”,map);
         x.http().post(params, new Callback.CacheCallback<String>()
    
    	//第二种
    	//new Callback.CommonCallback<String>(),正常使用这种不带缓存回调
      RequestParams params = getGLKTRequestParams(requestCodeUrl, map);
      x.http().post(params, new Callback.CommonCallback<String>()
    

    第三点:网络请求的安全加密
    传入的参数使用Base64加密,签名文件使用:MD5加密

    /**
         * MD5加密
         *
         * @param paramString
         * @return
         */
        private static String md5(String paramString) {
            String returnStr;
            try {
                MessageDigest localMessageDigest = MessageDigest.getInstance("MD5");
                localMessageDigest.update(paramString.getBytes());
                returnStr = byteToHexString(localMessageDigest.digest());
                return returnStr;
            } catch (Exception e) {
                return paramString;
            }
        }
    
        /**
         * 将指定byte数组转换成16进制字符串
         *
         * @param b
         * @return
         */
        private static String byteToHexString(byte[] b) {
            StringBuffer hexString = new StringBuffer();
            for (int i = 0; i < b.length; i++) {
                String hex = Integer.toHexString(b[i] & 0xFF);
                if (hex.length() == 1) {
                    hex = '0' + hex;
                }
                //  hexString.append(hex.toUpperCase());
                hexString.append(hex.toLowerCase());
            }
            return hexString.toString();
        }
    
    

    获取数据成功后需要使用Base64解密

    /**
         * 获取响应dataString
         * @param result
         * @return
         */
        public static String getResponseDataBean(String result){
            return  new String(Base64.decode(gsonToBean(result,RDataBean.class).data, Base64.NO_WRAP));
        }
    
        public static <T> T gsonToBean(String gsonString, Class<T> cls) {
            Gson gson = new Gson();
            T t = gson.fromJson(gsonString, cls); //解释json字符串数据,返回是数据类型传入的类类型
            return t;
        }
    
        public class RDataBean {
            public String data;
            public String sign;
        }
    
    
    展开全文
  • 如何模拟1000个手机用户登录? 现在很多APP或者网站都需要使用手机号进行登录,那么使用手机号进行...本文重点在获取短信验证码的接口功能,故无需检验手机号的各个号码段等格式,所以选择上述的第二种“采用Jmeter的

    如何模拟1000个手机用户登录?

    现在很多APP或者网站都需要使用手机号进行登录,那么使用手机号进行登录时,必然就需要“手机号+短信验证码”才可登录成功。

    在实际测试过程中,测试人员一般只有一个手机号,那么需要测试多个手机号来通过短信接口服务进获取到登录需要的“短信验证码”,那么如何解决多个手机号的问题?

    1. 收集公司其他同事的个人手机号
    2. 使用Jmeter提供随机函数,生成手机号的中间四位数

    本文重点在获取短信验证码的接口功能,故无需检验手机号的各个号码段等格式,所以选择上述的第二种“采用Jmeter的随机数+固定数字”即可。若需要更加真实的模拟(例如校验手机号是否合法等),可使用其他方式生成11位手机号,例如通过正则表达式生成合法手机号等。

    • 接口分析

    在开始任务一个接口测试或接口压力测试前,都需要从开发提供的接口文档可以获得以下相关信息:

    1. 域名(IP)
    2. 地址(path)
    3. 请求方式(post/get)
    4. 入参:手机号等其他信息

    ......

    本文重点讲述“如何使用Jmeter的随机函数生成的随机数”组合成不同的手机号,以便通过“获取短信验证码”接口获取到登录需要的验证码。

    • 利用Jmeter生成四位随机数

    利用Jmeter 的随机函数_Random,可以生成四位随机数:

    1. 选择Jmeter自带的随机函数
    2. 定义四位随机数的最小值
    3. 定义四位随机数的最大值
    4. 最后生成随机函数表达式:${__Random(0000,9999,)}

    • 拼接手机号

    利用随机函数与固定数字组合成手机号,国内手机号是11位:

    1. 前三位:152(本文示例手机号固定号码段)
    2. 中间四位:使用随机函数表达式“${__Random(0000,9999,)}”
    3. 后四位:5208(本文示例手机号固定尾号)

    拼接结果:152XXXX5208,其中中间“XXXX”表示四位随机数。

    综上,短信接口入参的手机号"mobile": "152${__Random(0000,9999,)}5208"

    • 模拟短信接口请求

    菜单路径:在Thread Group上右键—sample-HTTP Request

    JMeter添加HTTP Request配置接口请求的域名、路径、请求方式、入参等,如下图:

    • 添加监听树

    菜单路径:在Thread Group上右键-lisener-View Results Tree

    监听树报告配置保持默认配置(默认展示所有的请求日志)即可,若需要模拟1000或者更多,可选择仅展示错误的日志即可:

     

    • 设置脚本运行次数

    若是需要模拟1000个用户并发,可设置如下:

    Number of threads(users):1000

    Ramp-up period(in seconds):0

    Loop Count:1

    上述配置表示1000个用户同时发起获取验证码,且每个用户执行一次。

    若需要间隔1s依次向1000个用户发送短信验证码,则需要在线程组上设置Loop Count=1000

    • 运行结果

    由于线程组上设置Loop Count=1000,故脚本运行1000次,每次随机函数会生成随机的四位数字与固定数字拼接成不同的手机号。

    脚本运行结果如下图:点击各个请求可以看到入参的手机号码不一样

     

    手机号登录的过程:

    1. 使用手机号获取验证码
    2. 使用手机号+验证码进行登录

    本文实现了登录过程的第一个阶段~,若需要同时实现登录,可在获取验证码之后增加登录接口请求即可。

    Tips:测试过程中,测试环境一般需要加短信白名单用户才会真实收到短信验证码,所以不用担心验证码会真实的发送到手机号户主的手机上,且不会产生短信扣费。

    若需要模拟真实发送到手机上,则需要收集公司或朋友的真实手机号,并添加到短信白名单内即可。


    J

    展开全文
  • 如何发送短信验证码

    千次阅读 2018-07-19 11:15:13
    短信验证码是一种有效的验证方式,它可以大大的增加网站和APP的安全性,防止用户恶意注册,其工作原理就是,用户在注册框,输入自己的手机号码,点击获取短信验证码,然后网站后台和APP后台生产验证码,通过短信的...

    如何发送短信验证码

    短信验证码是一种有效的验证方式,它可以大大的增加网站和APP的安全性,防止用户恶意注册,其工作原理就是,用户在注册框,输入自己的手机号码,点击获取短信验证码,然后网站后台和APP后台生产验证码,通过短信的方式,发送到用户的手机上,用户接收到验证码之后,在注册框中输入验证码,服务器端验证客户输入的验证码是否正确,如果正确则注册成功,如果不正确,则注册失败,这样防止用户恶意注册。阅信短信是国内新兴智能云通信服务商,阅信短信平台是三大运营商的资深战略合作伙伴。为企业提供电信运营平台向目标用户即时推送短信服务,日均短信2亿条;接口响应处理速度<3毫秒;单通道下发速度2000条/秒;支持多通道并发处理,灵活优先级设置,多角度保障实时信息、批量信息高效率互不影响。已经为多家互联网公司、公安、电力、证券、医院、政府等数百家大型企事业单位提供服务。

     

    发短信验证码,我把它大致分为三个步骤:

    (1)前端触发获取验证码,同步显示有效验证倒计时;

    (2)后台通过代理平台发送验证短信;

    1. 用户提交验证信息,后台逻辑判断处理。

     

    电脑获取短信验证码的方法:

    1、我们首先当然是要有自己的账号一个。

    2、添加一个自己想要获取验证码的项目。

    3、认证填写好资料就可以完成添加了。

    4、添加完成我们输入关键词搜索一下。

    5、获取一个号码来使用。

    1. 还可以指定一个你想要的号码来使用。这样就完成了短信验证码在电脑上接收的问题了。
    展开全文
  • 当前,很多表单的设计都会使用手机获取验证,一方面商家可以精准获取用户的手机号码,以便之后的精准推广,另一方面也防止用户批量注册小号扰乱平台秩序。今天就主要说说如何使用axure原型来进行获取验证码表单设计...

    当前,很多表单的设计都会使用手机获取验证,一方面商家可以精准获取用户的手机号码,以便之后的精准推广,另一方面也防止用户批量注册小号扰乱平台秩序。今天就主要说说如何使用axure原型来进行获取验证码表单设计。

    获取验证码表单主要包括一个输入框和一个“获取验证码”按钮,其中“获取验证码”按钮才是设计的重点。它总共有两种状态,一种是静态文本状态,即按钮中显示“获取验证码”,另一种是动态倒计时状态,即按钮中显示“XX秒后重新获取”。

    从静态文本状态到动态倒计时状态的转换所需要的操作是点击按钮,而从动态倒计时状态到静态文本状态所需要的操作是60秒倒计时到0时。因此,可以分四步来进行:

    第一步:先摆好所要控件,即向画布拖拉一个文本框和一个矩形,矩形可以设置成橙色,并写上文字“获取验证码”。

    第二步:为矩形添加一个载入时用例,用例中设置全局变量初始值,即OnLoadVariable的值设置成60,60为重新获取验证的倒计时初始值。

    第三步:为矩形添加一个鼠标单击时用例,先把用例中的条件设置成OnLoadVariable的值不等于0,然后再为用例添加5个动作

    1、禁用“获取验证码”;
    2、设置文本的值为“[[OnLoadVariable-1]]秒后重新获取”;
    3、设置全局变量的值为“[[OnLoadVariable-1]]”;
    4、添加等待1000毫秒;
    5、添加触发矩形鼠标单击事件。


    第四步:再为矩形添加一个鼠标单击时用例,先把用例中的条件设置成OnLoadVariable的值等于0,然后再为用例添加3个动作

    1、设置全局变量的值为“60”;
    2、设置文本的值为“获取验证码”;
    3、启用“获取验证码”。

    好了,点击预览即可看到逼真的动态效果。同时也可以随时关注我的个人博客:http://weidublog.com,因为工作过程中有很多这些axure原型设计小技巧的例子,所以我会坚持分享下去,希望对大家有帮助,你们对我的关注就是我的动力。

    效果图:axure原型设计之获取验证码
    附件下载:获取验证码rp文件

    展开全文
  • 后来老板又要求增加一个用手机号码获取验证码登录。 做好了之后就出现了一个问题,当不输入手机号的时候,下方会有警示,提示你没有输入手机号 然后这时点击下方按钮,切换到账号密码登录时,这个警示仍然存在。 如...
  • 这几天正在参与一个关于移动公司的项目开发,其中就有输入手机号码获取验证码的功能。如果说把验证手机号码的正确性的功能放到后台去验证感觉有点坑后台的那群娃,所以还不如我们在APP中直接验证。 第一步:先来...
  • 短信验证码被攻击分为两种情况,一是不法分子利用发送接口漏洞,通过不断变换IP地址的方式伪装成大批量手机号码获取验证,从而对企业短信费用造成高额损失;二是不法分子只攻击某个特定号码,反复向同一个手机号码...
  • 让你获取用户绑定微信的手机号码, 微信会发送一条短信验证码到用户手机上验证。 这种方法是免费不用钱的, 但是只适合简单,首次验证用户, 如果你的业务复杂, 就需要使用第二种方法… 二、 ...
  • 在我们的生活中,经常会遇到(www.yunxintong100.com)需要... ...那您知道如何在网站注册发送短信验证码吗?下一步小编为大家详细分析。 一、获取短信验证码的基本流程 1.注册网站帐号时,首先输入自己的手机号码,点击
  • 后来想想,微信获取用户的手机号一样可以保证手机号码的真实性,因为手机号既然可以绑定微信,那么肯定是被严格核验过的,然后就开始了获取手机号之旅,网上教程有很多,但不知什么原因,都是会少一些内容,有的只有...
  • 匹配11位手机号码的正则表达式

    万次阅读 2014-12-08 14:46:37
    最近在做一个即时通讯的项目, 首先是注册登录界面, 项目需求是通过用户输入的手机号码获取一个4位数的验证码来完成注册,那么, 问题来了? 如何判断用户输入的手机号码是合法的正确的11位手机号码呢?(这些简单的问题...
  • 我们经常会收到各种类型的验证码短信,那么这些验证码短信有...企业在产品系统中接入了手机短信验证码功能之后,用户输入手机号码然后点击“获取验证码”按钮,系统就会自动生成一条验证码,然后该验证码就会经由...
  • 获取微信绑定手机号,更换手机号可以点下方“管理手机号码”,微信会给更换的手机号发送验证码进行验证,验证通过就可以正常获取。不用自己去配置短信验证手机号的正确性,用的是微信的短信服务。 json 用的WxUI,...
  • 制作网站,需要对注册用户进行手机号码验证,应该怎么做,...之前因为没有接口,所以直接获取验证码后再控制台显示。现在需要几个接口?是不是发送、查看、接收三个接口?还有如何把接口加进代码里 谢谢您 的回答
  • 在互联网信息泛滥的今天,大量的不真实手机号码、无效的信息铺满网站,给企业对网站用户回访等带来诸多不遍,如何获取真实可靠的客户信息,显得尤为重要。  为了让网站自动验证客户联系手机号码的真实性,往迅信息...
  • 浏览器登录:Candy官网输入手机号码获取短信验证码 输入短信验证码后,设置个人密码即可完成注册,并获取100个糖果
  • 点击登录 获取手机号码验证码 验证是否正确 * 4. 跳转到主页 获取用户类** 在进行写代码前,先来介绍下Bmob的给手机发送短信验证码,和如何使用短信验证码和手机进行登录 手机号码和短信验证码
  • 如何申请腾讯地图用户Key

    千次阅读 2019-11-05 09:55:45
    ...填写手机号码获取验证码和邮箱后,单击【绑定手机】。 注册提交成功后,自动跳转到如下页面,单击【创建API Key】。 稍等片刻后,提示key创建成功。单击【进入:key设置】,设置用户K...
  • 首先打开中国移动官网: 浏览器搜索"中国移动",第一个就是 点进去后,先选择你的手机号所属省份,它会根据你的ip地址自动选择,如果你的手机...输入自己的手机号,输好后点击"获取"按钮获取验证码,然后将发送到手机上的...
  • 打开网页... ... ...登录完成后,单击右上角箭头处【控制台】。...填写姓名,手机号码获取验证码和邮箱后,单击【提交】注册。注意:邮箱一定要填写正确的能接收邮件的邮箱。 注册提交成功后...
  •  我们在生活中经常会遇到一种情况,当你注册某个平台账户时,只要输入你的手机号码,点击获取验证码,随后就会收到发给你的短信验证码。  一般来说,实现这种功能都是用阿里云或者腾讯云提供的云短信服务。价格也...
  • ...填写手机号码获取验证码和邮箱后,单击【绑定手机】。 注册提交成功后,自动跳转到如下页面,单击【创建API Key】。 稍等片刻后,提示key创建成功。单击【进入:key设置】,设置...
  • 当前,很多表单的设计都会使用手机获取验证,一方面商家可以精准获取用户的手机号码,以便之后的精准推广,另一方面也防止用户批量注册小号扰乱平台秩序。今天就主要说说如何使用axure原型来进行获取验证码表单设计...
  • 1.弹出一个输入手机号码的界面,用户输入手机号,点击获取验证码,跳转到输入验证码的界面 2.该手机号收到验证码,输入验证码验证码的界面,点击下一步完成验证,如果验证成功说明这个手机号码是可信的,也是在使用状态的...
  • 网络层攻击

    2019-10-08 13:35:35
    流量劫持 ...伪造一批手机号码,不断的调用获取短信验证的接口,造成服务商的损失 短信轰炸的防御 图片验证码,限制同设备,同IP,同手机号码的发送次数 检测IP所在地是否与手机号归属地匹配 对手机...
  • GSM劫持+短信嗅探 “半夜盗刷”

    千次阅读 2018-08-26 21:06:40
    【PConline资讯】“一觉醒来,手机里多了上百条验证码,而账户被刷光还背上了贷款”——近期犯罪分子利用“GSM劫持+短信...在主流App中,许多账户登录及资金操作都可以通过手机号码加短信验证码的方式实现,对于用...

空空如也

空空如也

1 2 3
收藏数 52
精华内容 20
关键字:

如何获取手机号码验证码