700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 短信验证码 身份证实名 手机三要素实名三步走 手把手教你API接口调用 示例可使用

短信验证码 身份证实名 手机三要素实名三步走 手把手教你API接口调用 示例可使用

时间:2021-05-23 13:44:30

相关推荐

短信验证码 身份证实名 手机三要素实名三步走 手把手教你API接口调用 示例可使用

短信验证码、身份证实名、手机三要素实名三步走

满满的都是干货分享,获取对应的AppKey后代码可运行;python3环境

众所周知,系统非法登录、登录密码撞库、数据泄露、用户信息不真实等情况是信息系统和网站业务面临的最大问题,当然提升系统完全的方式有很多种,下面介绍一下立竿见影的几种方式

获取短信验证码AppKey

获取身份证实名认证AppKey

获取三网手机实名认证AppKey

一、短信验证码

适用于各类网站、APP等短信验证码、通知短信等。

无论是注册、登录、敏感数据查看、敏感操作时加入短信验证码校验,都能有效的提升系统安全

下面介绍一下如何接入 短信验证码

1、接入&交互流程

首先需要申请接口、获取验证码接口AppKey创建短信验证码模板,获取模板Id客户端调用验证码发送接口服务端发送并存储验证码到数据库客户端提交验证码校验

2、接口请求示例

当用户获取AppKey后就可以进一步测试:获取验证码接口AppKey

废话不多说,直接上示例代码(pythos3 , 更多开发语言示例,看这里):(前提是获取AppKey、模板ID)

python版本

import randomimport requestsimport jsonappKey='短信验证码接口AppKey'tplId='验证码短信模板'class ApiRequest(object):def __init__(self,appKey,tplId):self.appKey = appKeyself.tplId = tplIddef sendSms(self,mobile):code = random.randint(100000,999999)"""这里验证码生成后先存储到本地数据库"""# 调用接口发送验证码resp = self.sendSmsApi(mobile,code)"""这里根据验证码发送情况做一些业务处理"""return resp# 验证码发送接口def sendSmsApi(self,mobile,code):params={'key':'key','fid':0}headers ={"Content-Type": "application/x-www-form-urlencoded"}params ={"mobile": mobile,"tpl_id": self.tplId,"tpl_value": "#code#={}".format(code),"key": self.appKey,}print(params)resp = requests.post("/sms/send",params,headers=headers)resp_json = json.loads(resp.text)print(resp_json)## {'reason': '操作成功', 'result': {'sid': '594832C6A33A5CC7', 'fee': 1, 'count': 1}, 'error_code': 0}return resp_jsonmobile = '18913556768'pet = ApiRequest(appKey,tplId)rest = pet.sendSms(mobile)print(rest)

接口返回示例:

/****失败示例**/{"reason": "错误的短信模板ID,请通过后台确认!!!","result": [],"error_code": 205402}/****成功示例**/{"reason": "短信发送成功","result": {"count": 1, /*发送数量*/"fee": 1, /*扣除条数*/"sid": "23d6bc4913614919a823271d820662af" /*短信ID*/},"error_code": 0 /*发送成功*/}

二、用户安全

用户信息是否真实有效,用户非法使用平台信息或发布非法言论等等违法行为,是否能追溯到用户本人

加强用户安全管理=》身份实名

目前简单身份实名有两种:

1、身份证实名认证:校验姓名和身份号是否真实有效2、三网手机实名认证:根据办理手机号的信息,核验身份证号和姓名是否相符

两者区别:三网手机实名认证相较于身份证实名认证安全和可靠系数高

下面是两种方式的示例代码python:

1、身份证实名认证

通过传递姓名+身份证号码,校验信息是否一致

适用于电商、游戏、直播、金融等需要用户实名认证的场景

申请身份证实名认证AppKey

import randomimport requestsimport jsonappKey=''class ApiRequest(object):def __init__(self,appKey):self.appKey = appKey# 身份证实名def verify(self,idcard,name):params={'key':'key','fid':0}headers ={"Content-Type": "application/x-www-form-urlencoded"}params ={"idcard": mobile,"realname": name,"key": self.appKey,}print(params)resp = requests.post("/idcard/query",params,headers=headers)resp_json = json.loads(resp.text)print(resp_json)## {'reason': '成功', 'result': {'res': 1, 'realname': '姓名', 'idcard': '身份号'}, 'error_code': 0}return resp_jsonmobile = '身份证号'name = '姓名'pet = ApiRequest(appKey)rest = pet.verify(mobile,name)print(rest)

接口返回示例:

{"reason": "成功","result": {"realname": "***",/*真实姓名*/"idcard": "******************",/*身份证号码*/"orderid":"J1031450419556",/*流水号*/"res": 1 /*1:匹配 2:不匹配*/},"error_code": 0}

2、手机三网实名认证

通过传递姓名+身份证号码+手机号,校验信息是否一致

适用于电商、游戏、直播、金融等需要用户实名认证的场景

申请并获取三网手机实名认证AppKey

import randomimport requestsimport jsonappKey=''class ApiRequest(object):def __init__(self,appKey):self.appKey = appKey# 身份证实名def verify(self,idcard,name,mobile):params={'key':'key','fid':0}headers ={"Content-Type": "application/x-www-form-urlencoded"}params ={"idcard": idcard,"realname": name,"mobile":mobile,"key": self.appKey,}print(params)resp = requests.post("/telecom/query",params,headers=headers)resp_json = json.loads(resp.text)print(resp_json)# {'reason': '成功', 'result': {'realname': '姓名', 'mobile': '手机号', 'idcard': '身份证号', 'res': 1, 'resmsg': '三要素身份验证一致'}, 'error_code': 0}return resp_jsonidcard = '身份证号'name = '姓名'mobile ='手机号'pet = ApiRequest(appKey)rest = pet.verify(idcard,name,mobile)print(rest)

接口返回参数:

{"reason": "查询成功","result": {"realname": "***","mobile": "***********","idcard": "******************","res": 2,/*匹配结果:1匹配 2不匹配*/"resmsg": "三要素身份验证不一致,"/*说明,res为1时返回三要素身份验证一致,res为2时返回三要素身份验证不一致*/"types": "移动"/*手机运营商,输入参数type为1时返回*/"orderid":"J12251904163782Ay",/*聚合订单号,输入参数showid为1时返回*/"province":"广东省",/*归属地省*/"city" : "惠州市",/**归属地城市*/"rescode":"24",/*输入detail为1时返回匹配详情码(简版情况下输入1的时候,固定返回24),11:匹配,21:姓名不匹配,22:身份证不匹配,23:姓名身份证均不匹配,24:不匹配,具体要素不匹配未知*/},"error_code": 0}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。