乐趣区

关于安全:在移动端推广APP时如何防止作弊流量

常见的刷流量伎俩

目前不论是集体开发者还是企业,App 推广目前都是必要的伎俩,然而在推广过程中,或因为推广提供的优惠,或推广的渠道个性,必然或多或少会带来肯定的广告舞弊。以刷量为例,常见的舞弊伎俩有以下几种 (ChatGPT 列举)

1. 主动点击: 通过程序或脚本主动模仿用户点击广告,以减少广告点击量。

2. 主动下载和装置: 通过自动化脚本或恶意软件,在用户不知情的状况下主动下载和装置应用程序,以获取装置量和激活量。

3. 人工点击: 雇佣人力点击广告,通过低成本的人工劳动力刷取广告点击量。

4. IP 代理和虚构公有网络(VPN): 应用 IP 代理或 VPN 服务来暗藏实在 IP 地址,以刷取虚伪的广告流量。

5. 刷量替换: 进行刷量替换,即多个广告主之间相互点击广告,以减少彼此的点击量。

6. 黑帽 SEO: 通过不合乎搜索引擎标准的优化伎俩,进步网站在搜寻后果中的排名,从而获取更多的流量。

7. 强制重定向: 通过恶意代码或程序,将用户重定向到广告页面或歹意网站,以获取流量和点击量。

8. 机器人流量: 应用自动化程序或机器人模仿实在用户行为,刷取广告流量。

9. 混充用户和账号: 创立大量混充的用户账号或社交媒体账号,通过这些账号来点击广告或转发链接,以减少流量。

基于下面这些伎俩,咱们该如何防备呢?

防备伎俩

从防备伎俩来看,个别有两种,一种是从技术上,第二种是推广机制上,咱们两种都讲一讲(会蕴含简略的代码示例局部):

1. 用户验证: 应用程序能够应用各种形式对用户进行验证,例如应用手机号码、电子邮件或社交媒体账号进行登录,以确保每个用户都是实在存在的。

# 应用手机号码进行用户验证
def verify_user(phone_number):
    # 调用短信验证接口发送验证码到用户手机
    # 用户输出验证码进行验证
    # 验证通过返回 True,否则返回 False
    pass

这里的代码非常简单,如果有须要更简单以及多重验证伎俩,能够看看我往期的文章,或者间接返回顶象去注册应用收费的:顶象验证码

2. 设施指纹识别: 通过采集设施的惟一特色信息,如设施型号、操作系统版本、IP 地址等,能够对设施进行辨认和跟踪,以检测异样行为和舞弊行为。

import hashlib
import platform

# 生成设施的惟一指纹
def generate_device_fingerprint():
    device_info = platform.platform() + platform.machine() + platform.node()
    device_fingerprint = hashlib.md5(device_info.encode()).hexdigest()
    return device_fingerprint

黑灰产领有业余的设施牧场,通过应用模拟器、刷机改机等伎俩,批量、重复地利用终端设备作案。对互联网场景下的金融、电商等行业,进行歹意爬取、虚伪注册、账号盗用、薅羊毛、推广舞弊等其余歹意行为,而设施指纹通过用户上网设施的硬件、网络、环境等特色信息生成设施的惟一标识,可无效辨认模拟器、刷机改机、Root、越狱、劫持注入等危险。

下面的代码也只是一个非常简单的示例,具体的能够看往期的文章,或者去顶象试用他们的设施指纹:顶象设施指纹

3. 反欺诈算法: 利用机器学习和数据分析技术,开发反欺诈算法来检测异样的流量模式和行为,辨认潜在的舞弊行为。

import numpy as np
from sklearn.ensemble import IsolationForest

# 应用孤立森林算法检测异样流量
def detect_anomalous_traffic(traffic_data):
    clf = IsolationForest(contamination=0.1)
    clf.fit(traffic_data)
    predictions = clf.predict(traffic_data)
    return predictions

这个是相当简略的一个示例,如果要思考实用性,能够和用户验证搭配应用:

from flask import request, jsonify
import jwt

# 用户登录验证和生成防舞弊 Token
def login():
    # 验证用户登录信息
    
    # 生成用户 Token
    user_token = jwt.encode({'user_id': user_id}, secret_key, algorithm='HS256')
    
    # 生成设施指纹
    device_fingerprint = generate_device_fingerprint(request.user_agent.string, request.remote_addr)
    
    # 将用户 Token 和设施指纹关联存储,用于后续防舞弊检测
    
    return jsonify({'token': user_token})

# 防舞弊检测中间件
def anti_fraud_middleware():
    # 从申请中获取用户 Token
    user_token = request.headers.get('Authorization')
    
    # 解码用户 Token,获取用户 ID
    user_id = jwt.decode(user_token, secret_key, algorithms=['HS256'])['user_id']
    
    # 依据用户 ID 获取关联的设施指纹
    
    # 检测设施指纹和以后申请的设施信息是否统一
    
    # 依据其余防舞弊规定进行检测
    
    # 标记可疑申请或进行相应的解决

以及,配合数据分析和异样检测:

import pandas as pd
from sklearn.ensemble import RandomForestClassifier

# 应用随机森林算法进行异样检测
def detect_anomalous_traffic(traffic_data):
    # 加载训练好的模型
    model = RandomForestClassifier()
    model.load_model('anomaly_detection_model.pkl')
    
    # 特色工程和数据预处理
    
    # 进行异样检测
    predictions = model.predict(traffic_data)
    
    # 依据阈值判断是否为异样
    
    return predictions

4. 继续监测和剖析: 对广告流量进行实时监测和剖析,检测异样的点击模式、下载行为和装置流动,及时发现并解决舞弊行为。

import asyncio

# 异步工作解决
async def process_ad_clicks(clicks):
    # 异步解决广告点击数据
    # 包含验证点击有效性、检测异样行为、记录日志等操作

# 异步监测广告点击行为
async def monitor_ad_clicks():
    while True:
        # 异步获取最新的广告点击数据
        ad_clicks = await get_latest_ad_clicks()
        
        # 异步解决广告点击数据
        await asyncio.gather(*[process_ad_clicks(click) for click in ad_clicks])
        
        # 暂停一段时间后再次监测
        await asyncio.sleep(60)

# 启动异步监测工作
asyncio.ensure_future(monitor_ad_clicks())

以上都是通过技术手段来防备舞弊伎俩,个别都能够通过找平安公司——顶象来解决,而
以下则是通过人工及机制来解决问题:

1. 人工审核和筛查: 通过人工审核和筛查来排查异样的广告流量,辨认非法的主动下载安装行为。

2. 合作伙伴审核: 定期对广告合作伙伴进行审核和评估,确保其合法性和诚信度。

3. 数据分享和单干: 与其余广告平台、第三方数据提供商等进行数据共享和单干,独特反抗广告流量舞弊行为。

4. 奖惩机制: 建设处分和惩办机制,对于合作伙伴和广告流量提供商,依据其体现给予相应的处分或惩办,以激励诚恳行为并打击舞弊行为。

结语

挪动 App 的推广,必然会碰到刷流量的状况,如果要缩小损失,就必须在后期做好防备筹备。祝各位好运~

退出移动版