知晓云新能力|防刷机制已上线,有效防范「羊毛党」

2021-11-23 11:05:11 +08:00
 ifanrcloud

随着互联网的飞速发展,越来越多的企业借助线上平台和移动工具开展品宣活动和拓展业务。企业结合自身的用户增长策略,上线高奖励的活动来吸引用户关注和参与,与此同时,也吸引了一些「羊毛党、黄牛党」,利用活动规则漏洞,甚至采用违法违规行为来获取奖励,这不仅让企业造成经济上的损失,还破坏了企业的品牌形象和服务口碑。

例如你在年底期间上线一个「最佳员工」评选活动,通过投票小程序,来完成用户的报名和投票。活动规则限制每一位用户只能投票一次,但某些用户会利用自动注册的工具注册大量帐号,再进行大量的刷票,以此高票胜出并获得相应的奖励。活动不仅不能实现初衷,甚至因为其他真实用户对票数的质疑从而对企业的公平公正产生质疑。

防止「羊毛党、黄牛党」有机可乘,不仅仅要从活动规则上加以限制,也要从技术上着手,增加防刷机制,避免带来不必要的损失。

小程序、App 等应用应如何增加防刷机制?

在违规刷量过程中,一般需要大量的虚假帐号,用户实际操作时,往往是在同一个 IP 地址进行的。监控用户行为,获取异常 IP 地址,记录 IP 使用情况,对异常 IP 进行封禁,是防刷机制的高效且有效的解决方案之一。

新能力:一秒查看高频的 IP 地址并对其分析和封禁

为帮助开发者提高小程序的安全性,降低运营风险和成本,知晓云上线了新能力——用户 IP 记录,你可以在这个新功能下,完成对高访问量 IP 地址的监控、查看详情与封禁。

开发者登录知晓云控制台,在「运营 - 统计 - IP 记录」中即可查看应用当日访问量最高的前 20 条 IP 记录。点击「查看详情」,即可查看该 IP 地址高访问量的接口,以此分析哪些接口被刷或存在被刷的风险。

对于异常 IP 地址,点击「封禁」即可限制该 IP 地址的使用,并将其加入到 IP 黑名单中。例如在投票活动中,用户注册大量帐号进行刷量时,开发者可查看到其 IP 地址多次调用「注册接口」的情况,通过封禁该 IP 地址,以确保活动的正常有序进行。

被封禁的 IP 地址将记录在「黑名单 IP 」中,你可以通过查询指定 IP 地址对其解封。

IP 记录功能赋予开发者实时监控与快速处理异常情况的能力,以此提高应用的安全性和稳定性。

目前该功能还在升级迭代中,你可以拉到文末参与「 IP 记录 v2.0 」的需求调研,如果你有其他需求,可以将应用场景和期望功能告诉我们,产品经理将进一步评估与迭代功能,以更好的满足大家的实际需求。

如果你想实现自主获取用户 ID 和 IP 地址,来拦截通过注册大量帐号破坏活动秩序的「羊毛党、黄牛党」,可以通过知晓云触发器+云函数,简单两步即可实现,下文将提供具体的实现方法。

实战经验:使用触发器获取用户注册信息,实现异常 IP 地址的封禁

流程简述如下:

  1. 创建一个 V2 版本的触发器,选择触发类型为「用户状态变更」
  2. 设置触发条件为「注册」并选择注册类型
  3. 设置一个动作类型为「执行云函数」的动作

通过设置触发器和云函数,每当有用户注册时就会发送一个数据包给具体云函数,开发者可以根据数据包作相应处理。

触发器相关文档见《触发器 V2 使用指南》,数据包示例如下:

{
    "subject": "UserActivity",
    "event": "",
    "pattern": "",
    "payload": {
        "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4089.0 Safari/537.36",
        "ip_address": "127.0.0.1",
        "created_by": 1,
        "created_at": 1584696925
    }
}

具体流程

1 、添加云函数

登录知晓云控制台,进入「引擎」页面,点击「云函数」并选择「添加」。

设置云函数名称和模板,点击「确定」进入云函数代码编辑页面。

示例代码如下:

exports.main = async function userRegisterCallback(event) {
  try {
    let data = event.data;
    let payload = data.payload;
    return {
      event: data.event,
      user_id: payload.created_by,
      ip_address: payload.ip_address
    };
  } catch (err) {
    throw err;
  }
}

点击「测试」可以进入测试页面。设置测试类型为「云函数调用」并设置测试参数,点击执行后可以看到执行结果。

2 、创建触发器

登录知晓云控制台,进入「引擎」页面,点击「触发器」并选择「添加」。

创建一个触发类型为「用户状态变更」的 V2 触发器。

设置条件为「注册」,并选择注册类型。

设置动作为「执行云函数」,并选中之前创建的云函数。

完成以上设置后,每当有新用户通过手机号注册,应用就会执行相应的云函数,从而获取到对应的用户 ID 和 IP 地址了。

此时你还需要把所有用户 ID 和 IP 地址汇总起来,才能进一步分析和判断出哪些 IP 地址存在异常。你可以参考云函数实战教程,在知晓云上建立一个数据表,修改第一步中添加的云函数,把用户 ID 和对应的 IP 地址汇总到数据表里即可。之后再针对异常 IP 地址,在「 IP 记录」中进行封禁和解封等操作。

以上是通过监控和封禁异常 IP 地址来防止用户刷量,此外还可以通过设置验证码登录方式(滑动拼图验证码、文字点选验证码、图标点选验证码)来降低被刷量的风险。在业务允许的情况下,还可以要求用户进行实名认证,密保问题校验等,但使用门槛越高、步骤越多则用户体验越差,开发者需根据实际情况选择合适的方式。


目前我们提供了应用防刷机制的基础且核心的功能,如果你有其它需求,可以向我们反馈。

IP 记录更新预告:

  1. IP 黑名单支持自定义添加
  2. 系统自带黑灰账号名单,弥补薄弱用户数据基础
  3. 支持设置超过一定访问数 IP 自动封禁,支持设置白名单 IP

点此参与需求调研,或直接文末评论你所需的功能需求。

948 次点击
所在节点    推广
1 条回复
xieqiqiang00
2021-11-23 11:14:53 +08:00
看得我黑人问号

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/817331

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX