如何对网站用户进行实名认证
2016年国家网信办发布了《移动互联网应用程序信息服务管理规定》,明确了用户实名认证的要求;一是按照“后台实名、前台自愿”的原则,对注册用户进行真实身份信息认证;二是建立健全用户信息安全保护机制;三是建立健全信息内容审核管理机制,对发布违法违规信息内容的,视情采取警示、限制功能、暂停更新、关闭账号等处置措施;四是依法保障用户知情权和选择权;五是尊重和保护知识产权,不得制作、发布侵犯他人知识产权的应用程序;六是记录用户日志信息,并保存六十日。
对于目前主流的互联网系统实名认证方案有以下三种:
一、身份证实名认证
系统强制用户注册时填写个人的姓名和身份证号码,通调用第三方接口核验身份证号和姓名是否一致。这是一种较为简单的实名认证方式,很多验证是否是未成年人的系统多使用这种方案,因为身份证号码内含有出生日期。
发送数据:
bodys.put("idNo", "340421190210182345"); bodys.put("name", "张三");
返回数据: { "name": "张三", "idNo": "340421190710145412", "respMessage": "身份证信息匹配", "respCode": "0000", "province": "安徽省", "city": "淮南市", "county": "凤台县", "birthday": "19071014", "sex": "M", "age": "111" }
二、手机号实名认证
当用户在注册时通过短信验证码确认手机号为用户持有后,接下来强制用户填写姓名和身份证号码,然后在后台通过调用第三方接口确认填写的身份证信息是不是该手机号在运营商办理时使用的身份证,以此确认用户信息切实准确。这是一种较准确的实名认证方式,由于办理手机号需要本人持身份证到营业厅办理,能够认证成功表示确系本人操作,也是大多数系统使用的认证方式。
发送数据:
Map<String, String> bodys = new HashMap<String, String>(); bodys.put("idNo", "350298189012083221"); bodys.put("name", "张三"); bodys.put("phoneNo", "13511112222");
返回数据:{ "name": "张三", "idNo": "359345189012085813", "phoneNo": "13511112222", "respMessage": "身份证信息匹配", "respCode": "0000" }
三、银行卡实名认证
对于金融类系统,代收付业务离不开银行卡,对绑卡认证可以较为准确的核验用户信息,并且确保用户将来使用该银行卡无后顾之忧。具体流程为:先使用手机号注册基本信息,在到主界面绑卡,绑卡时填写银行卡号、姓名、身份证号码再加上已经注册了的手机号4个要素发送至第三方接口进行核验,如果验证通过表明该银行卡为用户本人所有,可以用于收付款业务。为避免套现风险一般绑定借记卡。
发送数据:
Map<String, String> bodys = new HashMap<String, String>(); bodys.put("ReturnBankInfo", "YES"); bodys.put("cardNo", "62155811111111111"); bodys.put("idNo", "340421199922225555"); bodys.put("name", "张三"); bodys.put("phoneNo", "13522221111");
返回数据:{ "name": "张三", "cardNo": "6225756663322156", "idNo": "34042158962596321", "phoneNo": "13699995555", "respMessage": "结果匹配", "respCode": "0000", "bankName": "招商银行", "bankKind": "招商银行信用卡", "bankType": "信用卡", "bankCode": "CMB" }
如果用户只有付款需求,绑卡时只验证3要素即可,即:银行卡号、姓名、身份证号码。(银行代付业务一般只需要银行卡号、姓名、身份证号、金额)
发送数据:
Map<String, String> bodys = new HashMap<String, String>(); bodys.put("cardNo", "62155811111111111"); bodys.put("idNo", "340421199922225555"); bodys.put("name", "张三");
返回数据:{ "name": "张三", "cardNo": "6215522222222223333", "idNo": "3404529999888855551111", "respMessage": "信息匹配", "respCode": "0000", "bankName": "中国工商银行", "bankKind": "工商银行", "bankType": "借记卡", "bankCode": "ICBC" }
详情: 银行卡三要素实名认证接口(云亿互通) 如果大家在搬砖过程中遇到此类问题可以加博主QQ:1773542055,共同讨论ヾ(◍°∇°◍)ノ゙
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
一个小小的C++游戏引擎
跳一跳是我想玩的游戏类型:3D卡通外观的复古街机游戏。目标是改变每个填充块的颜色,就像Q * Bert一样。 Hop Out仍在开发中,但引擎的功能已经很完善了,所以我想在这里分享一些关于引擎开发的技巧。 你为什么想要写一个游戏引擎?可能有很多原因: 你是个修理工,喜欢从头开始建立系统,直到系统完成。 关于游戏开发你想了解更多。你在游戏行业工作了多年,现在仍然在不停的琢磨。你甚至不确定自己是否可以从头开始编写一个引擎,因为它与大型工作室的编程工作的日常职责大不相同。你想知道答案。 你喜欢控制。对完全按照你想要的方式组织代码,知道一切都在哪里,感到满意。 你可以从AGI(1984),id Tech 1(1993),Build(1995)等经典游戏引擎以及Unity和Unreal等行业巨头那里获得灵感。 你相信我们这个游戏产业应该试着去揭开引擎发展的序幕。我们并没有掌握制作游戏的艺术。还离得很远!我们对这个过程的研究越多,改进的机会就越大。 2017年的游戏平台 – 手机,游戏机和电脑 – 非常强大,而且在很多方面都非常相似。游戏引擎的开发并不是像过去一样,在脆弱和怪异的硬件上挣扎。在我看...
- 下一篇
Java 二分查找
Java著名,高效并且应用广泛的二分查找算法. package 二分查找; import java.util.Arrays; public class BinarySearch { public static void main(String[] args) { int[] a = { 123, 423, 21, 321, 12, 341, 3213, 42 }; // The array must be orderly Arrays.sort(a); for(int x : a) { System.out.print(x+" "); } System.out.println(); int rank = rank(123, a); System.out.println(rank); } public static int rank(int key, int[] a) { int lo = 0; int hi = a.length - 1; while (lo <= hi) { // 被查找的键要么不存在,要么必然存在于a[lo...hi]之中. int mid = lo + (h...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- 2048小游戏-低调大师作品
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16