关于防刷票的一些问题

简介: 关于防刷票的一些问题   刷票行为,一直以来都是个难题,无法从根本上防止。 但是我们可以尽量减少刷票的伤害,比如:通过人为增加的逻辑限制。 基于 PHP,下面介绍防刷票的一些技巧: 1、使用CURL进行信息伪造 1 2 3 4 5 6 7 8 ...

关于防刷票的一些问题

 

刷票行为,一直以来都是个难题,无法从根本上防止。

但是我们可以尽量减少刷票的伤害,比如:通过人为增加的逻辑限制。

基于 PHP,下面介绍防刷票的一些技巧:

1、使用CURL进行信息伪造

1
2
3
4
5
6
7
8
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,  "http://localhost/2.php" );
curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'X-FORWARDED-FOR:8.8.8.8' 'CLIENT-IP:8.8.8.8' ));
curl_setopt($ch, CURLOPT_REFERER,  "http://localhost/ " );
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT,  "Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.0)" );
$ out  = curl_exec($ch); 
curl_close($ch);

2、验证码:采用非常复杂的验证码

确切的说验证码的出现不是针对于人,而是针对于机器。通过复杂度和识别难易度的控制来阻拦掉一部分刷票机,从而减少刷票的发生。但随着软件技术、识别技术的发展越来越多的验证码面对着先进的刷票软件也失去了其防范的作用、但是专业刷票机可以攻破。如果不用验证码,投票基本就歇菜了,验证码获取方式,采用异步加载,即点击输入框时,才去请求,投票成功后,删除验证码的 Session

3、限时投票

比如:从早8点至晚23 点

4、设置投票间隔

用户投票后,需要隔多长时间才能继续投。

很多投票站点基本上都有这个限制,但是对于更改 IP的攻击,就没办法了

5、投票结果展示:延迟展示,友好展示

页面上投票,JS 立马加1,但是刷新页面,不一定立马展示最新投票结果,返回状态给页面(感谢您的投票!或者 投票成功!至于有没有成功,另说了!)

6、扣量逻辑:常见于一些软件评选之类的投票

  • 这是个杀手锏,后台跑脚本实时监控异常增长(刷票)的项,然后实施扣量逻辑
  • 即对于这个项,投 10 票才算一票

7、Cookie:常用的手段。比较低级

  • 投票后,在客户端写入 Cookie,下次投票时判断 Cookie 是否存在
  • 但是,这种方式非常容易攻破,因为 Cookie 可删除

8、加密选项 ID:对一些投票选项的ID,进行随机加密

  • 加密算法,加Salt,并且设置有效时间,比如5分钟内
  • 服务器端进行解密并且验证

9、nginx限制链接数

  • ngx_http_limit_conn_module
  • ngx_http_limit_req_module
  • nginx_limit_speed_module

可以使用这三个模块来限制,不过这不是一个好的解决方法

10、iptables限制

1
2
3
4
/sbin/iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --rcheck --seconds 60 --hitcount 10 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool -- set  -j ACCEPT
/sbin/iptables -t filter -A INPUT -p tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 10 --connlimit-mask
  32 -j REJECT

具体脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/bash
# Date: 2015-09-29
# # Author: cpz@erongtu.com
 
shopt -s -o nounset
export PATH=/usr/bin/:/bin
 
iptables_log= "/tmp/iptables_conf.log"
 
/sbin/iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --rcheck --seconds 60 --hitcount 10 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool -- set  -j ACCEPT
/sbin/iptables -t filter -A INPUT -p tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT
 
while  true  ];  do
 
     #sleep 1
     for  IP  in  `netstat -an | grep -i  ':80 ' |grep  'ESTAB'  | awk  '{print $5}'  | cut -d : -f 1 | sort | uniq -c | awk  '{if($1 > 30 && $2!="127.0.0.1" ) {print $2}}' `
     do
         /sbin/iptables -L -n  | grep  $IP >/dev/ null  || /sbin/iptables -A INPUT -p tcp --dport 80 -s $IP -j DROP
         echo  "/sbin/iptables -A INPUT -p tcp  -s $IP -j DROP"  >> ${iptables_log}
     done
done

 

目录
相关文章
|
6月前
|
监控 安全 测试技术
敏感接口防刷规范及定责
在工作中有时候会遇到敏感接口被刷的情况,主要是这些敏感接口没有做防刷处理
|
11月前
|
弹性计算 安全 API
阿里云实名认证接口怎么使用的
1.阿里云实名认证接口怎么使用的,1、登录阿里云控制台 2、单击您的会员名(在页面右上角),进入账号管理页面 3、在左侧导航栏中,单击 实名认证 4、在 实名认证 页面,选择认证类型为 个人,再单击 确定 5、单击 个人支付宝认证 栏中 立即认证 按钮。
阿里云实名认证接口怎么使用的
|
JavaScript
Vue中wangeditor工具栏失效问题
莫名其妙,Vue项目中,wangeditor部分工具栏失效了。 点了之后也不报错,但是毫无反应,去官网和百度查了半天,无后果。 最后找了半天,发现是调整了wangeditor默认样式导致的,尝试许久,最后以下样式可以不影响工具栏使用
933 0
|
Web App开发 编解码 安全
在高版本谷歌Chrome浏览器中用VLC播放海康、大华RTSP实时视频完全方案
随着互联网基础设施的完善以及4G、5G等技术的大规模商用,在Chrome、Firefox、Edge等浏览器播放RTSP视频流也慢慢成为了信息化系统的行业标准。早些年还可用VLC播放器在网页中播放RTSP视频流,好景不长,2015年Chrome、Firefox等浏览器取消了对 NPAPI插件的支持,导致在高版本的Chrome等网页中播放海康威视、大华等摄像头RTSP视频流也成了奢望。
2016 0
|
8月前
|
架构师
架构系列——架构师必备基础:并发、并行与多线程关系
架构系列——架构师必备基础:并发、并行与多线程关系
|
机器学习/深度学习 人工智能 算法
CV之Face Change:基于人工智能实现国内众多一线美女明星换脸(基于Face++输出4*106个特征点定位+融合代码、deepfake技术)
CV之Face Change:基于人工智能实现国内众多一线美女明星换脸(基于Face++输出4*106个特征点定位+融合代码、deepfake技术)
CV之Face Change:基于人工智能实现国内众多一线美女明星换脸(基于Face++输出4*106个特征点定位+融合代码、deepfake技术)
|
10月前
|
Web App开发 人工智能
chatgpt-prompts
油猴扩展脚本,在 ChatGPT 输入框中输入 '/' 时列出提示词,支持按照语言进行过滤
91 0
|
12月前
|
NoSQL 安全 Java
优雅的接口防刷处理方案 下
优雅的接口防刷处理方案 下
Yii2.0投票如何防止用户刷票?具体步骤是怎样的?底层原理是什么?
Yii2.0投票如何防止用户刷票?具体步骤是怎样的?底层原理是什么?
|
设计模式 SQL 开发框架
Yii2.0框架是什么?它有哪些主要特点和优点?
Yii2.0框架是什么?它有哪些主要特点和优点?
240 0