全部产品

PHP服务端SDK集成

更新时间:2020-11-20 12:06:39

本文介绍如何在PHP服务端集成SDK代码。

前提条件

  • 已为您的阿里云账号创建AccessKey。详细操作指导请参见创建AccessKey

  • 已从云盾人机验证控制台下载PHP服务端SDK包。

  • 服务端开发环境为PHP 5.3或以上版本。

安装SDK

  1. 将下载的php_sdk.zip压缩包解压至服务端任意目录,需要确保具有读取权限。

  2. 在PHP文件中添加头文件并指定正确的文件路径,导入使用别名。例如:

     <?php
    include_once './aliyun-php-sdk-core/Config.php';
    use  afs\Request\V20180112 as Afs;
    //Do something below...					

注意事项

  • 与人机验证服务端SDK相关的类都在com.aliyuncs.IAcsClient包中。

  • SDK调用接口的默认连接超时时间是3秒,读取超时时间是80秒。您可以调用带有connectTimeout和readTimeout的构造方法来自定义设置SDK调用接口的连接超时时间和读取超时时间。

初始化IClientProfile

IClientProfile是与人机验证服务端交互的接口,所有SDK的操作都需要通过IClientProfile完成。

说明

IClientProfile可以复用,建议将其设置成应用程序全局唯一。

<?php
include_once './aliyun-php-sdk-core/Config.php';
use afs\Request\V20180112 as Afs;
//YOUR ACCESS_KEY、YOUR ACCESS_SECRET请替换成您的阿里云accesskey id和secret  
$iClientProfile = DefaultProfile::getProfile("cn-hangzhou", "YOUR ACCESSKEY", "YOUR ACCESS_SECRET");
$client = new DefaultAcsClient($iClientProfile);
DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", "afs", "afs.aliyuncs.com");
			

调用人机验证服务端接口

IClientProfile完成后,即可调用AnalyzeNvcRequest接口,根据业务需要开发前端页面请求的处理类和对运行结果的处理方式。

<?php
$request = new Afs\AnalyzeNvcRequest();
$request->setData("xxx");//必填参数,由前端获取getNVCVal方法获得的值。
// 通过setScoreJsonStr方法声明"服务端调用人机验证服务接口得到的返回结果"与"前端执行操作"间的映射关系,并通知验证码服务端进行二次验证授权。
// 注意:前端页面必须严格按照该映射关系执行相应操作,否则将导致调用异常。
// 例如,在setScoreJsonStr方法中声明"400":"NC",则当服务端返回400时,您的前端必须唤醒滑动验证(NC),如果唤醒其他验证,则将导致失败。
$request->setScoreJsonStr("{\"200\":\"PASS\",\"400\":\"NC\",\"800\":\"BLOCK\"}");//根据业务需求设置各返回结果对应的客户端处置方式。
$response = $client->getAcsResponse($request);
print_r($response);
?>