阿里云的数据风控试用总结

简介: 阿里云的数据风控试用总结

使用背景:由于一款游戏经常会被盗号,小号肆虐,会对游戏的正常运营产生很负面的影响,急需找一款风控产品来解决这个问题。

那么,这些行为都有哪些特征呢?

盗号,基本都是暴力破解,撞库后异地登录;工作室操控海量小号,那么,基本是会用脚本去处理,不会触碰到页面(也就是非真人登录),而且很有可能会共用相同的IP。

 

业务风控

业务风控,包含:注册防控、登录防控、活动防控、消息防控和其他风险防控,通过用户行为、软硬件环境信息、设备指纹、业务基础信息综合判定用户请求的风险程度。

  • WEB网页:页面引入JS脚本,服务端调用业务风险防控API获得风险结果。
  • 移动端HTML5页面:页面引入JS脚本,服务端调用业务风险防控API获得风险结果。
  • Android/iOS: 客户端集成SDK组件,服务端调用业务风险防控API获得风险结果。

 

如何集成代码? 拿登录防控举例子.

参考:应用代码集成

客户端页面这边写得很清楚,主要修改了以下:

<script>
  pointman.use('do', function () {
    var afs = pointman.getConfig();
    var afs_appkey = afs.appkey;
    var afs_scene = afs.scene;
    var afs_token = afs.token;
    console.log('afs_appkey: ' + afs_appkey);
    console.log('afs_scene: ' + afs_scene);
    console.log('afs_token: ' + afs_token);
    //document.getElementById('afs_scene').value = afs_scene;
    //document.getElementById('afs_token').value = afs_token;
        window.localStorage.setItem("afs_scene",afs_scene);
        window.localStorage.setItem("afs_token",afs_token);
  });
</script>

以上这段写在body体里。

获取的时候,这样获取:

//发送AJAX请求
$.post(url, {"userName" : username,
"password" : $.md5(password),
"token":window.localStorage.getItem("afs_token")})

 

服务端,在你自己的LoginController中,接到请求后,访问登录防控API,我们用的是web方式:

@Service
public class PreventionManager {
  private static final Logger logger = LogManager.getLogger(PreventionManager.class);
  IAcsClient client = null;
  public void init() {
    IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", "ACCESS_KEY",
        "ACCESS_SECRET"); // YOUR ACCESS_KEY、YOUR
                          // ACCESS_SECRET请替换成您的阿里云accesskey
                          // id和secret
    client = new DefaultAcsClient(profile);
    try {
      DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", "Jaq", "jaq.aliyuncs.com");
    } catch (ClientException e) {
      logger.error(e.getMessage(), e);
    }
  }
  public void handleLogin(HttpServletRequest req, String jsToken) {
    User user = SessionUtil.getCurrentUser();
    LoginPreventionRequest request = new LoginPreventionRequest();
    // 必填参数
    request.setPhoneNumber("");
    request.setIp(user.getLastLoginIp());
    request.setProtocolVersion("1.0.1");
    request.setSource(1); // 登录来源。1:PC网页;2:移动网页;3:APP;4:其它
    request.setJsToken(jsToken); // 对应前端页面的afs_token,source来源为1&2&4时,必填;
    // request.setSDKToken(""); //对应sdk中获取的wtoken,source来源为3时,必填;
    // 选填参数
    request.setEmail(user.getEmail());
    request.setUserId(String.valueOf(user.getId()));//【phone_number ,email, (user_id,id_type)三种必选其一】
    request.setUserName(user.getName());
    request.setIdType(1);
    request.setCurrentUrl(req.getRequestURI());// request.getServletPath()
    request.setAgent(req.getHeader("User-Agent"));
    request.setCookie(req.getCookies()[2].getValue());
    request.setSessionId(req.getRequestedSessionId());
    // request.setMacAddress("");
    request.setReferer(req.getHeader("referer"));
    //request.setActionName("login.do");//LoginPrevention
    request.setRegisterIp(user.getLastLoginIp());
    request.setRegisterDate(1L);
    request.setAccountExist(1);
    request.setLoginType(1);
    request.setPasswordCorrect(1);
    try {
        LoginPreventionResponse response = client.getAcsResponse(request);
        Data data=response.getData();//这里你根据获得的风险报告,可以做一系列的策略,比如封号,封IP,给注册的玩家手机号发消息等
        logger.debug("ip={},token={},data={}",request.getIp(),jsToken, ToStringBuilder.reflectionToString(data, ToStringStyle.SHORT_PREFIX_STYLE));
    } catch (Exception e) {
      logger.error(e.getMessage(),e);
    }
  }
}

按如下校验接入是否成功:

 

3. 接入成功校验:打开浏览器控制台(F12开发者工具),在页面上移动鼠标、点击键盘:

a. 控制台收到analyze.jsonp请求(多个);

b. 在Headers - Query String Paraments 里看到:n、a、t、asyn、scene等参数;

c. 双击analyze.jsonp请求,获得onJSONPCallback({"result":0,"success":true})。

Query String parameters

n:098#E1hv29vCvv6v9vCkvvv2vjtnRL5Usji8Ph9EHc3Po2MU2cn2R2zZ1jr8RFQx0jgqoFMWHcYWRhMyCcgMRLQXCpGzoLFZzjtnoL6BljiURF6X2cDEPFZxsjyMRhGEgjEvohMpsviRP6qwtjgYnLzp2crEPyzZHpY8oFZEtjYPPFFUAv9MR6GHQjEmLLMZHpGqdphvmpvUsvm6rvC9X9==
a:FFFF00000000017A71A3
t:0#FFFF00000000017A71A31518436742848778015284351518510055370901535523100CBE37C32C8041510160E65EA33E434D9A5A50FAD8B45753B1D51261FC2029E32F4DB892CD43AD3E795C914C022F5EDEA9B9402422C77DA090F35ED4
asyn:0
scene:login
callback:_uab_jsonp46500

试验,故意不断换IP频繁登录,从数据风控报表页能实时看到一些报告:

 

目前该系统比较让用户失望的是 风险报告里没提供任何风险提示的内容,这点腾讯云做的就比较到位。

 

参考:

数据风控

【阿里聚安全技术公开课】业务安全及防护(数据风控)

腾讯相对应的就是天御系统的 登录保护

腾讯的MTP

腾讯的灯塔

目录
相关文章
|
安全 黑灰产治理
阿里云数据风控全新启航
2016年8月1日,阿里云云盾下反欺诈服务正式更名为数据风控,新的名称,新的思考,新的征程。
6163 0
|
6月前
|
机器学习/深度学习 自然语言处理 监控
金融行业的大数据风控模型:构建安全高效的信用评估体系
金融机构借助大数据风控提升信贷效率,通过数据收集、清洗、特征工程、模型构建与评估来识别风险。关键技术涉及机器学习、深度学习、NLP和实时处理。以下是一个Python风控模型构建的简例,展示了从数据预处理到模型训练、评估的过程,并提及实时监控预警的重要性。该文旨在阐述大数据风控的核心要素和关键技术,并提供基础的代码实现概念。【6月更文挑战第23天】
1056 8
|
大数据
《大数据风控在互联网和金融领域 的探索和实践》电子版地址
大数据风控在互联网和金融领域 的探索和实践
82 0
《大数据风控在互联网和金融领域 的探索和实践》电子版地址
|
消息中间件 缓存 监控
包银消费CTO汤向军:消费金融大数据风控架构与实践
风险在哪里 1.1 信用风 根据银行业的风险理论,信用风险是指借款人因各种原因未能及时、足额偿还债权人或银行贷款而违约的可能性。 信用风险的风控重点在于,甄别客户违约的原因究竟是还款能力,还是还款意愿问题。
3316 0
|
新零售 大数据
大数据风控 ——互联网消费金融的必由之路
面对蓬勃发展的互联网消费金融的风控需求,针对中小型消费金融平台技术能力薄弱的特点,恒生电子推出了大数据风控平台,为中小型消费金融厂商提供强大的风控服务,从三个方面提供专业的大数据风控支持。
1952 0
|
3月前
|
弹性计算 负载均衡 关系型数据库
阿里云产品近期优惠
阿里云提供多种售卖模式,包括按量付费、按量付费+资源包/节省计划及包年包月。权益中心为不同客户提供丰富优惠:飞天免费试用计划、99实例/计划、初创企业上云补贴及高校师生专属优惠。具体方案详询阿里云官网权益中心。各类优惠活动的具体条件与折扣力度各异,用户可根据自身需求在阿里云权益中心查看并领取相应权益。
|
26天前
|
数据采集 人工智能 DataWorks
限时优惠体验!DataWorks数据治理中心全新升级为数据资产治理
DataWorks进行全面升级,从数据治理中心转型为数据资产治理,强调业务视角下的数据分类与管理,引入Data+AI全链路数据血缘追踪,提升数据质量和安全性,促进跨部门协作。同时,提供限时优惠活动,助力企业高效利用数据资产。
[阿里短信云平台] -短信包套餐36元1000条-秒级触达!
[阿里短信云平台] -短信包套餐36元1000条-秒级触达!阿里云短信服务价格表,阿里云短信0.032元一条,阿里云短信价格?阿里云短信怎么收费?阿里云短信多少钱一条,阿里云短信价格0.032元一条
400 0
|
负载均衡 Cloud Native 关系型数据库
阿里云产品最近又上新啦,我都想试用!
最近阿里云产品又上新了,尤其是推出了最新的产品组合试用装,个人觉得阿里云关于云产品的更新迭代是非常重视的,而且每次推出的产品不仅会惊艳到用户,而且产品功能也是随着一次迭代而更加完善、强大。前段时间也写了一篇关于为什么选择云原生数据库的文章,里面也讲到了阿里云产品的使用,我觉得阿里云的云原生数据库值得使用。
281 0
阿里云产品最近又上新啦,我都想试用!