关于安全:设备指纹系列后端篇

根底篇请看:设施指纹系列–根底篇

前段篇请看:设施指纹系列–前端篇

上接前文,咱们持续来说设施指纹的后端接入形式。

————————————–我是分割线—————————————-

接口详细描述:  依据token,appId,sign三个参数取得设施信息

1.SDK接入办法阐明

1.1 Java SDK接入

  1. 包的引入
<dependency>
    <groupId>com.dingxiang-inc</groupId>
    <artifactId>ctu-client-sdk</artifactId>
    <version>2.6</version>
</dependency>
  1. Java应用示例
public class ConstantIdDemo {
    //顶象控制台,设施指纹菜单利用治理外面获取
    private static String appId = "0091a3xxxxxxxxxx557fac67b2f5afb";
    private static String appSecret = "e38dxxxxxxxxx6807c9e1edebaa2836";

    public static void main(String[] args) throws IOException {
        // 填写设施指纹域名或者url如:http://127.0.0.1:8080
        CtuConstidClient client = new CtuConstidClient("https://constid.dingxiang-inc.com", appId, appSecret);
        //设施指纹
        String result = client.getDeviceInfo("62c5013cel9o4xxxxxxxxxtTtKW5BwWtQq9u1f1");
         System.out.println(JSON.toJSON(result));
    }
}   

1.2 PHP SDK接入

点击下载SDK

应用示例

class Demo {

    // 依据理论状况填写
    const appKey = "你的AppID";

    // 依据理论状况填写
    const appSecret = "你的AppSecret";

    // 依据理论状况填写
    const token = "SDK外面获取到的token";
}

// 依据token获取设施详细信息工具类
$requestHandle = new DeviceFingerprintHandle();
// 设置申请超时工夫。因为存在设施指纹降级和网络抖动的状况,默认2秒。能够依据理论状况调整
// $requestHandle->setTimeout(2);

// 填写设施指纹域名或者url入:http://127.0.0.1:9090
$responseData = $requestHandle->getDeviceInfo("https://constid.dingxiang-inc.com/udid/api/getDeviceInfo",
    Demo::appKey, Demo::appSecret, Demo::token);
$result = json_decode($responseData, true);

// 申请状态码。非 200 示意没有获取到设施明细信息
if ($result['stateCode'] == 200) 
    echo "设施明细信息如下: : " . json_encode($result['data'], true);
else 
    echo $result['message'];

1.3 NodeJS SDK接入

npm i dx-const-id-sdk --save

const SDK = require('dx-const-id-sdk')

const sdk = new CaptchaSDK({
  appId: '您的appId',
  appSecret: '您的appSecret'
})

sdk.getDeviceInfo(token).then((data) => {
  console.log(data)
}).catch(err => {
  console.log('获取设施信息失败')
})

2.HTTP接口接入办法

2.1 申请参数

字段 类型 形容
appId String 以后利用的标识
sign String sign = MD5(appSecret + token + appSecret),AppSecret为appId对应的密钥
token String 用户前端获取的token

2.2 胜利响应

字段 类型 形容
stateCode int 状态码
message String 状态形容
data Json 返回设施信息及设施危险检测数据
{
    "stateCode": 200,
    "message": "申请响应胜利",
    "data": {
        "hardId": "22e38229a7eda501c58bf3ddee1a340a",
        ......
    }
}

2.3 谬误响应

字段 类型 形容
stateCode int 状态码
message String 状态形容
data Json 异样时数据为空
{
    "stateCode": -10002,
    "message": "签名为空或验证失败",
    "data": null
}
错误码 形容
-10001 appId不存在或曾经过期
-10002 签名为空或验证失败
-10003 token为空或没有对应的设施信息
-10004 token曾经过期
-10005 服务器外部异样
-10006 证书曾经生效
-10007 服务器限流

3. HTTP接口返回参数明细阐明

3.1 收费用户

字段名 字段形容 阐明
token 设施token 默认返回
hardId 设施指纹 默认返回
3.1.1 web端返回后果
字段名 字段形容 阐明
token 设施token 默认返回
hardId 设施指纹 默认返回

3.2 免费用户

3.2.1 挪动端返回后果(局部示例,更多返回字段请分割售后反对获取)
字段名 字段形容 阐明
token 设施token 默认返回
deviceType 设施类型 默认返回
hardId 设施指纹 默认返回
producter 生产厂商 默认返回
macAddress mac地址 默认返回
isEmulator 模拟器运行 默认返回
isRoot 是否root 默认返回
isMultirun 是否多开 默认返回
isInject 是否存在注入危险 默认返回
isMemdump 是否存在内存dump危险 默认返回
isDebug 是否存在调试危险 默认返回
isHook 是否存在hook危险 默认返回
isJailBreak 是否越狱 默认返回
isVpn 是否应用vpn 默认返回
isProxy 是否应用代理 默认返回
isSimulateGPS 是否篡改GPS 默认返回
isCloudPhone 是否云真机 默认返回
3.2.2 web端返回后果(局部示例,更多返回字段请分割售后反对获取)
字段名 字段形容 阐明
token 设施token 默认返回
deviceType 设施类型 默认返回
hardId 设施指纹 默认返回
canvasId canvas指纹 默认返回
webGl WebGl指纹 默认返回
resolution 设施分辨率 默认返回
isLiedBrowser 是否伪造浏览器 默认返回
isCookieDisabled 是否禁用cookie 默认返回
isTamperUa 是否篡改浏览器ua 默认返回
isTamperRes 是否篡改分辨率 默认返回
isTamperCd 是否篡改浏览器色彩深度 默认返回
isEmulator 是否模拟器 默认返回

以上。

完整版接入计划:设施指纹接入

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理