PHP部分:

//本代码段为项目中的代码,部分参数接收方式和路径请自行更改
<?php
class control_face_certification
{function __construct(){date_default_timezone_set("GMT");$this->params = $_REQUEST;}public function index(){include('view/face_certification/face_certification.html');}//公共参数部分public function get_public_params(){return ["Format" =>'json',"Version" => "2019-03-07","AccessKeyId" => "------","AccessKeySecret" => "-----","SignatureMethod" => "HMAC-SHA1","Timestamp" =>date('Y-m-d\TH:i:s\Z'),"SignatureVersion" => "1.0","SignatureNonce" =>  md5(rand(1000,9999)),"SceneId" => -------];}//获取认证链接public function face_cert_url(){$data = $this->params;$public_params = $this->get_public_params();$url = "cloudauth.aliyuncs.com/?";$Action = "InitFaceVerify";$Format = $public_params["Format"];$Version = $public_params["Version"];$AccessKeyId = $public_params["AccessKeyId"];$AccessKeySecret = $public_params["AccessKeySecret"];$SignatureMethod = $public_params["SignatureMethod"];$Timestamp = $public_params["Timestamp"];$SignatureVersion = $public_params["SignatureVersion"];$SignatureNonce = $public_params["SignatureNonce"];$SceneId = $public_params["SceneId"];$OuterOrderNo = md5(time().rand(1000,9999));$ProductCode = "ID_PRO";$CertType = "IDENTITY_CARD";$CertName = $data["name"];$CertNo = $data["idcard"];$ReturnUrl = "https://".$_SERVER['HTTP_HOST']. /index.php?m=face_certification&a=call_back";$MetaInfo = $data["metainfo"];$MetaInfo = json_encode($MetaInfo,JSON_UNESCAPED_SLASHES);  $all_params = ["Format" => $Format,"Version" => $Version,"AccessKeyId" => $AccessKeyId,"SignatureMethod" => $SignatureMethod,"Timestamp" => $Timestamp,"SignatureVersion" => $SignatureVersion,"SignatureNonce" => $SignatureNonce,"Action" => $Action,"SceneId" => $SceneId,"OuterOrderNo" => $OuterOrderNo,"ProductCode" => $ProductCode,"CertType" => $CertType,"CertName" => $CertName,"CertNo" => $CertNo,"ReturnUrl" => $ReturnUrl,"MetaInfo" => $MetaInfo];$Signature = $this->make_sign($all_params,$AccessKeySecret);$all_params["Signature"] = $Signature;$res = $this->callInterface($url,$all_params);return $res;}//认证完成后跳转接口public function call_back(){$data = $this->params;$response = stripslashes($data["response"]);   $result = json_decode($response,true);$CertifyId = $result["extInfo"]["certifyId"];$face_result = $this->get_face_result($CertifyId);$face_result = json_decode($face_result,true);$Code = $face_result["Code"];$Passed = $face_result["ResultObject"]["Passed"];include('view/face_certification/face_result.html');$filename = $_SERVER['DOCUMENT_ROOT'] . "/resources/log.txt";$log_time = "\n-----" . date("Y-m-d H:i:s") . "-----------------------\n";file_put_contents($filename,$log_time."输入response    ".$response,FILE_APPEND);$log_time = "\n-----" . date("Y-m-d H:i:s") . "-----------------------\n";file_put_contents($filename,$log_time."输入face_result".json_encode($face_result),FILE_APPEND);}//确认识别结果public function get_face_result($CertifyId){$public_params = $this->get_public_params();$url = "cloudauth.aliyuncs.com/?";$Action = "DescribeFaceVerify";$Format = $public_params["Format"];$Version = $public_params["Version"];$AccessKeyId = $public_params["AccessKeyId"];$AccessKeySecret = $public_params["AccessKeySecret"];$SignatureMethod = $public_params["SignatureMethod"];$Timestamp = $public_params["Timestamp"];$SignatureVersion = $public_params["SignatureVersion"];$SignatureNonce = $public_params["SignatureNonce"];$SceneId = $public_params["SceneId"];$all_params = ["Format" => $Format,"Version" => $Version,"AccessKeyId" => $AccessKeyId,"SignatureMethod" => $SignatureMethod,"Timestamp" => $Timestamp,"SignatureVersion" => $SignatureVersion,"SignatureNonce" => $SignatureNonce,"Action" => $Action,"SceneId" => $SceneId,"CertifyId" => $CertifyId];$Signature = $this->make_sign($all_params,$AccessKeySecret);$all_params["Signature"] = $Signature;$res = $this->callInterface($url,$all_params);return $res;}//签名public function make_sign($all_params,$AccessKeySecret){ksort($all_params);$canonicalizedQueryString = '';foreach($all_params as $key => $value){$canonicalizedQueryString .= '&' . $this->percentEncode($key). '=' . $this->percentEncode($value);}$stringToSign = 'GET&%2F&' . $this->percentencode(substr($canonicalizedQueryString, 1));$Signature = base64_encode(hash_hmac('sha1', $stringToSign, $AccessKeySecret . '&', true));return $Signature;}//发送最终阿里接口请求public function callInterface($url,$all_params){$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url . http_build_query($all_params));curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$res = curl_exec($ch);return $res;}//参数编码public function percentEncode($str){// 使用urlencode编码后,将"+","*","%7E"做替换即满足ECS API规定的编码规范$res = urlencode($str);$res = preg_replace('/\+/', '%20', $res);$res = preg_replace('/\*/', '%2A', $res);$res = preg_replace('/%7E/', '~', $res);return $res;}
}?>

html部分:

face_certification.html

<html><div>真实姓名:<input type="text" id="name" />身份证号:<input type="text" id="idcard" /></div>
<br />
<button id="go_face_cert">去实名认证</button>
</html>
<script src="<?php echo __PUBLIC__?>web/weUI/js/jquery-1.12.1.min.js" type="text/javascript"></script>
<script type="text/javascript"src="https://cn-shanghai-aliyun-cloudauth.oss-cn-shanghai.aliyuncs.com/web_sdk_js/jsvm_all.js"></script>
<script>$(function(){var metainfo = getMetaInfo();$("#go_face_cert").click(function(){var name = $("#name").val();var idcard = $("#idcard").val();if(name == ""){alert("姓名不能为空!");return;}if(idcard == ""){alert("身份证号不能为空!");return;}var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;if(!reg.test(idcard)){alert("身份证号格式错误!");return;}$.ajax({type: "POST",url: "index.php?m=face_certification&a=face_cert_url",data: {"metainfo":metainfo,"name":name,"idcard":idcard},dataType: "json",success: function (res) {console.log(res);if(res.Code == 200){var face_cert_url = res.ResultObject.CertifyUrl;window.location.href = face_cert_url;}else{alert("服务器错误"+res.Message);}},error: function () {alert("服务器错误");}});})
});</script>

face_result.html

<html><?phpif($Code == 200){if($Passed == "T"){echo "认证通过";}else{echo "认证不通过";}}else{echo "认证失败";}?>
</html>

PHP实现阿里云金融级实人认证人脸识别h5案例源码,带签名相关推荐

  1. android中集成阿里云金融级实人认证

    上个项目中有用到过这个,现在又要用到,每次都是到官网去看文档去集成,特此记录一下集成的步骤 第一步:打开官网文档阿里云金融级实人认证Android接入文档 去下载最新的sdk,集成到项目中 第二步在需 ...

  2. UniApp接入阿里云金融级实人认证服务

    1.下载金融级实人认证UniApp SDK,解压到项目根目录的nativePlugins目录下. 2.选择插件:manifest.json =>App原生插件配置=>本地插件. 3.设置自 ...

  3. 阿里实人认证java_GitHub - lap888/react-native-face-aliverify:      基于阿里金融级实人认证sdk封装分享...

    react-native-face-aliverify 基于阿里金融级实人认证sdk封装分享 小序 最初玩RN还是在2017 那时RN版本还在0.4x.x 时间过得确实有点快 最近接了一个RN的项目 ...

  4. Android 11 + 使用阿里“金融级实人认证方案”闪退

    官方文档:Android接入 1.apk版本信息 2.动态权限获取 implementation 'com.github.tbruyelle:rxpermissions:0.12' 3.获取手机状态( ...

  5. 金融级实人认证是什么?

    金融级实人认证服务搭载真人检测和人脸比对等生物识别技术,配合权威数据源验证,可快速校验自然人的真实身份.本产品安全稳定,通过率高,支持多种产品方案和接入类型,为用户提供便捷的数字身份识别解决方案,满足 ...

  6. 阿里云增强版实人认证--银行卡要素核验

    阿里云官网参考文档:银行卡要素核验 - 增强版实人认证 - 阿里云 准备工作: 一:登录阿里云控制台,选择实人认证 左上角功能切换为 增强版实人认证 接入场景设置-->卡证核身-->认证场 ...

  7. OpenCV+百度云人脸识别项目及源码

    OpenCV+百度云人脸识别项目及源码 1.需要的硬件环境 虚拟机 带有摄像头的电脑 2.整体项目的框架 用Opencv识别人脸,上传百度云进行识别对比 3.虚拟机上需要装的库 sudo apt-ge ...

  8. flutter - 编写 阿里云-金融级实名认证插件

    项目中有实名认证的需求,用户上传身份证反正面,进行人脸核验,后台集成的是阿里云的金融级实名认证SDK,巧合的是阿里云没有packages 需要自己造轮子. 废话不多少,直接上代码: 新建项目 Proj ...

  9. 阿里云实人认证 人脸识别

    最近接阿里云实人认证,犯了一个最常见的错误,人脸识别的相机一直调不起来,原来是sdk更新了 sdk下载地址

最新文章

  1. ASP.NET Web Pages – 帮助器简介
  2. svg做自定义折线图表
  3. 如何使用IMPORT关键字读取ABAP cluster表里的数据到ABAP内表
  4. 移动端上传大文件到服务器,android上传大文件到服务器地址
  5. OpenSocial容器 shindig
  6. Android官方开发文档Training系列课程中文版:构建第一款安卓应用之程序运行
  7. 信息学奥赛 数论专题 2、带 余 除 法
  8. 苹果手机其他占内存很大去哪删除_Iphone内存总是不够用?原来这才是正确清理垃圾的方法,长见识了...
  9. 如何在GO语言中使用Kubernetes API?
  10. 请检查 PHP 或网站服务器日志,并正确配置 PHP 安装
  11. html插入cad,如何快速的在CAD中插入数字?
  12. 软件是指示计算机运行所需的程序,计算机文化基础知识点
  13. Android Studio个人所得税首页布局制作
  14. ppt插入html(用office而不是wps)
  15. 模电_热敏PTC电阻_NTC电阻-区别与作用-20190507
  16. ps显示暂存盘已满的解决办法
  17. 怎么设计计算机网络共享,怎么设置网络共享?教大家两种设置共享网络的方法...
  18. Ubuntu 搜狗输入法 关闭简繁切换快捷键
  19. 2015年的最后一天后
  20. 数学公式中一对双竖线

热门文章

  1. 全连接层tf.keras.layers.Dense()介绍
  2. 微信小程序支付SDK集成springboot
  3. 学习笔记---遥感影像辐射定标与大气校正
  4. 复制后的图形将文字覆盖上了【已解决】
  5. c语言||一个函数能return好几个?(产生多个返回值)
  6. STS:Surround-view Temporal Stereo for Multi-view 3D Detection——论文笔记
  7. SPI总线协议及SPI时序图详解
  8. sql随机取5条信息
  9. 使用Xshell实现SSH隧道穿透
  10. gRPC 从学习到生产