昨天五月天的票一进去,朋友圈一片腥风血雨,每个人都在哀嚎没有抢到票
当初大家满世界在抵制黄牛,然而就黄牛的伎俩,咱可差远了
“黄牛”还有一个别称是“黑灰产”,而黑灰产从业者具备较强的组织性、流传性和信息感知度。以营销流动脚本舞弊场景为例,黑灰产滥用平台的各种营销流动机制,如新人处分、用户裂变拉新处分、签到处分、秒杀优惠等,利用批量账号和自动化软件脚本(产生大量机器流量),绕过平台设定的限度规定,以千里之行;始于足下的形式,大量地获取营销流动礼包, 而后将现金汇集到对立账号,或将红包、优惠券、电子券等以不同形式进行变现获利。而且黑灰产逐步造成一条分工明确、单干严密的黑灰产业链条。
实名制
目前主办方采取的次要伎俩是实名制,咱们来看看个别实名制的伎俩是什么:
from flask import Flask, render_template, request, sessionapp = Flask(__name__)app.secret_key = 'your_secret_key'# 模仿已注册用户信息registered_users = { 'user1': { 'name': '张三', 'id_number': '1234567890' }, 'user2': { 'name': '李四', 'id_number': '9876543210' }}@app.route('/')def home(): return render_template('home.html')@app.route('/buy_tickets', methods=['POST'])def buy_tickets(): # 获取用户输出的姓名和身份证号码 name = request.form['name'] id_number = request.form['id_number'] # 检查用户信息是否匹配 for user, info in registered_users.items(): if info['name'] == name and info['id_number'] == id_number: # 用户信息匹配,执行购票逻辑 # TODO: 在此处编写购票逻辑的代码 return "购票胜利!" # 用户信息不匹配,提醒用户从新输出 return "姓名和身份证号码不匹配,请从新输出!"if __name__ == '__main__': app.run()
实名制购票要求购票者提供无效身份证明,并将购票者的姓名与身份证信息进行核查。这样能够确保每个人只能购买肯定数量的门票,缩小黄牛批量购票的可能性。
然而即便是这种状况,还是不能防止大部分人抢不到票。
验证码
另一个形式是在验证码阶段来卡黄牛。如后面的图所示,黄牛可能会应用物理伎俩来抢票,这个过程如果咱们设置一个验证码的门槛,是能够刷掉大部分的机器流量的:
from flask import Flask, render_template, request, sessionimport randomapp = Flask(__name__)app.secret_key = 'your_secret_key'# 生成验证码def generate_captcha(): captcha = '' for _ in range(6): captcha += str(random.randint(0, 9)) return captcha@app.route('/')def home(): # 生成验证码,并存储在session中 captcha = generate_captcha() session['captcha'] = captcha return render_template('home.html', captcha=captcha)@app.route('/buy_tickets', methods=['POST'])def buy_tickets(): # 获取用户输出的验证码 user_captcha = request.form['captcha'] # 获取存储在session中的验证码 stored_captcha = session.get('captcha') if user_captcha == stored_captcha: # 验证码验证胜利,执行购票逻辑 # TODO: 在此处编写购票逻辑的代码 return "购票胜利!" else: # 验证码验证失败,提醒用户从新输出 return "验证码谬误,请从新输出!"if __name__ == '__main__': app.run()
排队购票零碎
排队购票零碎是整个购票零碎的根底,让用户依照程序进入购票页面。这样能够避免黄牛应用疾速抢票软件或脚本,确保每个用户都有偏心的机会购票。
from flask import Flask, render_template, request, session, redirectimport timeapp = Flask(__name__)app.secret_key = 'your_secret_key'# 模仿排队队列queue = []@app.route('/')def home(): if 'user' not in session: # 用户未进入排队队列,将其退出队列 session['user'] = str(time.time()) queue.append(session['user']) return render_template('home.html')@app.route('/buy_tickets', methods=['POST'])def buy_tickets(): # 检查用户是否在队列头部 if 'user' in session and session['user'] == queue[0]: # 用户在队列头部,执行购票逻辑 # TODO: 在此处编写购票逻辑的代码 return "购票胜利!" # 用户不在队列头部,重定向到主页期待 return redirect('/')if __name__ == '__main__': app.run()
结语
其实,粉丝们再怎么抗拒黄牛,黄牛都是“野火烧不尽,春风吹又生”,只能是主办方从技术手段上尽可能升高黄牛的危险,从而保障宽广粉丝偏心买票的权利。
如须要收费的验证码产品,请戳>>>顶象验证码