高防IP

高防IP使用APP_Token功能

应用场景

由于手机APP或者类APP 产品是无状态请求,如果攻击者通过抓包或者反编译掌握了APP接口地址或者接口格式,就可以进行DDos或者CC攻击。对于这类攻击,最大的难题在于如何识别真实的用户。为了解决类似问题,亿速云高防IP产品推出APP_TOKEN功能,旨在协助用户更好实现APP产品的防护

实现原理

  1. APP 每次启动后,第一条请求 务必是向高防IP的校验地址发送一条请求,并 同步等待 返回结果,如果校验通过,则会将客户端IP放入白名单,并将请求回源,APP正常启动后,不用再次请求。
  2. 如果校验不通过,则返回403状态.表明该IP为恶意IP,不再回源。
  3. 如用户端更换IP,则需要重新发送验签请求。

接入准备

  1. APP产品: 需要在APP产品的每次启动过程中增加一个请求,请求地址为:
    域名/app_token.ys?sign=AAA(AAA为具体的sign)

  2. 开启亿速云高防IP的APP_Token功能。

操作流程

  1. 在”网站防护” 下某个域名的 “设置”,选择开启 通讯加密 功能

  2. 开启后,会在 “高防IP”->详细 中生成APP_TOKEN

  3. APP 发送请求,如果校验成功则返回true,失败返回403

APP_TOKEN的例外链接设置

  1. APP_TOKEN 开启后,当有客户端请求时,必须先进行验签,通过后才能继续发送其他请求,否则就会被拦截。当用户端更换IP时,也需要进行再次验签。

  2. 但是对于某些链接url,如不希望受到上述规则的影响,则可以设置了APP_TOKEN的例外链接。在例外连接中的URI,不会受到APP_TOKEN规则影响。

  3. 强烈建议,该功能需谨慎使用,如发现例外链接中的URI 被CC攻击,请尽快进行移除。

  4. 设置方式和uri格式要求。

  5. 是URI而非带参数的URL,参数默认会被忽略。

签名规则和请求地址

  1. 请求地址:域名/app_token.ys?sign=AAA(AAA为具体的sign)

  2. sign规则:md5(日期+APP_TOKEN).日期格式为Y-m-d(如2020-12-07).

实战代码(PHP 版本)

  1. <?php
  2. $token='ys5fcde484435508.905595872046057';
  3. $time = '2021-03-03';
  4. echo $sign=md5('2021-03-03'.$token);
  5. ?>
  6. //签名:e1b830069e72a8d5659a793228d27b13
  7. //请求地址:域名/app_token.ys?sign=e1b830069e72a8d5659a793228d27b13