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

这篇具有很好参考价值的文章主要介绍了短信验证码、身份证实名、手机三要素实名三步走,手把手教你API接口调用,示例可使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

满满的都是干货分享,获取对应的AppKey后代码可运行;python3环境
众所周知,系统非法登录、登录密码撞库、数据泄露、用户信息不真实等情况是信息系统和网站业务面临的最大问题,当然提升系统完全的方式有很多种,下面介绍一下立竿见影的几种方式
获取短信验证码AppKey
获取身份证实名认证AppKey
获取三网手机实名认证AppKey

一、短信验证码

适用于各类网站、APP等短信验证码、通知短信等。
无论是注册、登录、敏感数据查看、敏感操作时加入短信验证码校验,都能有效的提升系统安全
下面介绍一下如何接入 短信验证码

1、接入&交互流程

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

2、接口请求示例

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

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

python版本
import random
import requests
import json

appKey='短信验证码接口AppKey'
tplId='验证码短信模板'

class ApiRequest(object):

    def __init__(self,appKey,tplId):
        self.appKey = appKey
        self.tplId = tplId

    def 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("http://v.juhe.cn/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_json

mobile = '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 random
import requests
import json

appKey=''

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("http://op.juhe.cn/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_json

mobile = '身份证号'
name = '姓名'
pet = ApiRequest(appKey)
rest = pet.verify(mobile,name)
print(rest)

接口返回示例:

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

2、手机三网实名认证

通过传递姓名+身份证号码+手机号,校验信息是否一致
适用于电商、游戏、直播、金融等需要用户实名认证的场景
申请并获取三网手机实名认证AppKey

import random
import requests
import json

appKey=''

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("http://v.juhe.cn/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_json

idcard = '身份证号'
name = '姓名'
mobile ='手机号'
pet = ApiRequest(appKey)
rest = pet.verify(idcard,name,mobile)
print(rest)

接口返回参数:文章来源地址https://www.toymoban.com/news/detail-781046.html


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

到了这里,关于短信验证码、身份证实名、手机三要素实名三步走,手把手教你API接口调用,示例可使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包