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

满满的都是干货分享,获取对应的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 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("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_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 random
import requests
import 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("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_jsonmobile = '身份证号'
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 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("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_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":"J201712251904163782Ay",/*聚合订单号,输入参数showid为1时返回*/"province":"广东省",/*归属地省*/"city" : "惠州市",/**归属地城市*/"rescode":"24",/*输入detail为1时返回匹配详情码(简版情况下输入1的时候,固定返回24),11:匹配,21:姓名不匹配,22:身份证不匹配,23:姓名身份证均不匹配,24:不匹配,具体要素不匹配未知*/},"error_code": 0
}

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

  1. vue中获取短信验证码功能IOS手机问题

    vue使用中发现了一个问题,由于ios手机获取短信验证码后,验证码会直接显示在键盘上,点击键盘上的验证码即可给对应的input赋值,但是在项目开发中发现输入框的取值为空 经过排查是因为通过v-mode ...

  2. python短信验证码登录_Python手机验证码登录

    PHP代码示例 //接口类型:互亿无线触发短信接口,支持发送验证码短信.订单通知短信等. // 账户注册:请通过该地址开通账户http://user.ihuyi.com/register.html / ...

  3. Flask项目实战——6—(前台用户模型、前台登录注册、图形验证码、手机短信验证码、添加表单验证短信验证码请求)

    1.前台用户模型 前台用户模型定义 创建前台模型文件 apps/front/models.py # -*- encoding: utf-8 -*- """ @File : ...

  4. 临时手机验证码_实用网站(一)短信验证码 临时网盘 临时邮箱

    在线接收手机短信验证码 云短信(YunDuanXin.net)可以在线接收短信,接收短信验证码.云短信(YunDuanXin.net)是免费的在线接收手机短信的平台,接短信.接验证码就来云短信(Yun ...

  5. Web项目中手机注册短信验证码实现的全流程及代码

    最近在做只能净化器的后台用户管理系统,需要使用手机号进行注册,找了许久才大致了解了手机验证码实现流程,今天在此和大家分享一下. 我们使用的是榛子云短信平台, 官网地址:http://smsow.zhe ...

  6. c语言短信验证码,Web项目中手机注册短信验证码实现的全流程及代码

    使用的是榛子云短信平台, 官网地址:http://smsow.zhenzikj.com 后端使用了springMvc,前端用的是jsp + jquery 下载demo: https://downloa ...

  7. 阿里云——Java实现手机短信验证码功能

    目录 如何实现短信验证码功能 1.准备工作 1.1 注册 阿里云 账号,并完成实名认证.找到短信服务功能. 1.2 开通短信服务 1.3 签名与模板 1.4 获取AccessKey 1.5 打开短信控 ...

  8. 利用阿里大鱼下发短信验证码

    目前,基本上所有的网站注册都要求手机绑定,并通过下发短信验证码方式验证手机的真实性,提高了用户的真实性.但是一般企业单独申请短信行业通道都比较困难,因此选择一家信誉好,稳定性.及时性强的第三方短信通道 ...

  9. 短信验证码发送失败的常见原因有哪些?

    短信验证码现在几乎已成为互联网各行业的标配所在,在账户注册.密码修改.支付确认等方面发挥着重要的作用.目前通过短信验证码接口接入第三方短信验证码平台的短信服务,99%以上的用户基本上都可以在几秒钟之内 ...

最新文章

  1. patch成为了ALL You Need?挑战ViT、MLP-Mixer的简单模型来了
  2. 新疆乌鲁木齐3D打印智能硬件接活咯
  3. 利用深度学习的点云语义分割(一)
  4. VALSE 2020-18 《如何写/审AI领域的论文》笔记
  5. 声光调制器实验研究_脉冲光抽运原子钟研究取得进展
  6. 爬虫前期知识的储备(二)
  7. 网管,请别随意关闭默认共享
  8. fstab自动挂载_Linux系统挂载硬盘详解
  9. 安装mysql数据库及问题解决方法
  10. Revel组件化开发框架
  11. 使用CSS3制作水晶按钮
  12. 浅析ip地址的分类及地址范围
  13. 【Python】可视化科学计算笔记
  14. Java面试题3(jsp)
  15. 前端工程化实践总结 | QQ音乐商业化Web团队
  16. java输出罗马数字_Java实现的求解经典罗马数字和阿拉伯数字相互转换问题示例...
  17. 《初生牛犊的启航之旅》
  18. 高数【积分-定积分】--猴博士爱讲课
  19. Mac下chromedriver下载及安装详解
  20. Unity制作贪吃蛇

热门文章

  1. 对于AI 既有期待也要思考
  2. ipv4-only网络环境下访问ipv6站点的三种方式
  3. <博弈论> HDU1846
  4. 【计算机网路-第四章】IP地址和子网掩码
  5. iOS 支持webrtc的浏览器 bowser
  6. HMI-44-【多媒体】开启新篇章
  7. 天兔(Lepus)监控系统快速安装部署
  8. B. Luxurious Houses
  9. camunda 流程执行追踪_Camunda流程调用梳理
  10. 手机端我的优惠券页面html代码