说到阿里云的反欺诈服务,可能对于我们并不陌生,就是我们去淘宝上面会遇到的滑动验证,在这里不得不说一下为什么要用这个滑动验证,目的就是为了防止羊毛党的薅羊毛行为。
什么是羊毛党,什么是薅羊毛
对搜集各大电子商城、银行、实体店等各渠道的优惠促销活动、免费业务之类的信息产生了浓厚的兴趣。他们有选择地参与活动,从而以相对较低成本甚至零成本换取物资上的实惠。这一行为被称为“薅羊毛”,而关注与热衷于“薅羊毛”的群体就被称作“羊毛党”
反欺诈服务目前主要包含风险识别和风险拦截两大类功能。
风险识别是反欺诈服务提供重要功能之一,通过对平台请求进行风险识别,平台可对不同状态(可信、可疑、恶意)的请求进行不同处理。
原理1.在页面上引入一个js,尽量放在<head>标签中
<script data-app="xxxxxxxxxxx" src="//g.alicdn.com/sd/pointman/js/pt.js"></script>
data-app是一个base64编码的字符串,由阿里技术接口人给出
2. 在提交服务请求时,获取appkey scene 和token,传递给服务端(服务端调用api时,需要这些作为输入参数),获取函数:
var d = pointman.getConfig();
console.log(d.appkey);
console.log(d.scene);
console.log(d.token);
接口请求参数
参数名称 | 类型 | 是否必须 | 描述 |
AppKey | String | 是 | 应用方标识,从前端通过getconfig()函数获取后传入 |
TokenId | String | 是 | 本次请求唯一标识,从前端通过getconfig()函数获取后传入 |
SceneId | String | 是 | 场景,从前端通过getconfig()函数获取后传入 |
TimeStamp | Long | 是 | 时间戳 |
SerialNo | String | 是 | MD5(AppKey+accesskey+TokenId+TimeStamp) Accesskey:这里的accesskey是反欺诈服务端颁发,且勿用阿里云的accesskey,否则会出错 |
Trans | String | 否 | 透传参数,json格式,目前接收IP、email、手机。{"IP":"127.0.0.1","MAIL":"test@163.com",”MOBILE”:”18912345678”} |
返回参数:
参数名称 | 类型 | 描述 |
requestId | String | 通用参数 |
success | Boolean | 通用参数,查询是否成功:true则表示成功 |
Msg | String | 通用参数,描述 |
Code | Integer | 通用参数,返回结果码 0为成功,其他为错误码
|
collinadataQueryResult |
| 业务返回结果,包含三个值: a) Score,String,风险积分,千分制(0~999) b) riskLevel,String,风险级别 值为reject,review,accept 表示高危, 中危, 低危 c) detail,String,JSON格式的风险详情描述, 可以为空 |