实名认证(二要素校验)-含手机验证码校验

本文介绍了实名认证的过程,包括通过身份证、姓名和手机号进行用户身份验证。使用聚合平台的公共数据服务接口,同时注意接口调用的次数和成本控制,以及防止恶意刷接口。代码示例展示了获取短信验证码和实名认证的实现,包括HTTP请求和缓存管理。

1.业务介绍

        实名认证,说白了就是验证客户端用户的这个人真实性,可采用的第三方服务有高级点的如人脸骨骼识别,声音识别,瞳孔识别等等。我们采用简单的身份证、姓名、手机号3要素识别方式。

2.实现及代码

1.这类身份证和姓名的公共数据,我们采用聚合平台提供的公共数据服务接口,也可以接入其他公共数据服务平台。

2.登录聚合平台,进行注册和接口选用。

3.这块身份证姓名合法性验证接口服务的价格可不便宜(失败或成功都算一次,一次5毛),代码中要注意对已经认证的人进行处理,还需要防止乱刷接口。

3.代码实现

/**
 * 获取短信验证码
 *
 * @param phone 手机号
 * @return 返回
 */
@Override
public Object getCode(String phone) {
    // 获取请求IP
    String ip = request.getHeader("x-forwarded-for");
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip) || "null".equals(ip)) {
        ip = "" + request.getHeader("Proxy-Client-IP");
    }
    if (ip.length() == 0 || "unknown".equalsIgnoreCase(ip) || "null".equals(ip)) {
        ip = "" + request.getHeader("WL-Proxy-Client-IP");
    }
    if (ip.length() == 0 || "unknown".equalsIgnoreCase
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值