告诉大家一个坏消息,还是有刷票的行为,有图有真相:

倒数第三项是时间轴,倒数第二项是IP,倒数第一项是邮箱,你们要刷票,拦都拦不住呀呀呀呀呀呀!!!!!

看看这些时间的间隔,看看这些IP的地址,哎,再看看邮箱,全163的,再也不爱了。

  再来看看这些软件,有图有真相:

还有神马人工输入验证码的,自动输入验证码的,哎,被秒杀了瞬间。。。。

  继上篇刷票风云的随笔之后,我还是决定用每个学生登录教务处的密码尝试一下,虽然这个我在开学的时候做微信开发的时候弄过。

  首先要做的是登录学校教务处网站,然后打开sharkwire,取得传过去的信息,这些图我就明天上传补上,现在是用的同学电脑。

  获取到传过去的数据之后,我们就可以copy一下,用curl这个PHP中的API,创造个cookie传过去。

 //第一步:提交数据,生成cookie,将cookie保存在临时目录下
//在指定目录中建立一个具有唯一文件名的文件。如果该目录不存在,tempnam() 会在系统临时目录中生成一个文件,并返回其文件名
$cookie_file=tempnam('./temp','cookie');
$ch=curl_init();
$login_url="网址";
$curlPost="uname=账号&upwd=密码&usertypex=%B9%DC%C0%ED%D4%B1";
curl_setopt($ch,CURLOPT_URL,$login_url);
//启用时会将头文件的信息作为数据流输出
curl_setopt($ch,CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible;MS IE 9.0; Windows NT 6.1; WOW 64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.0.30729; BRI/2; MASM; .NET4.0C; .NET4.0E; InfoPath.3; Media Center PC 6.0; SE 2.X MeTaSr 1.0)');
curl_setopt($ch,CURLOPT_HEADER,true);
curl_setopt($ch,CURLOPT_MAXREDIRS,1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$curlPost);
//设置连接结束后保存cookie信息的文件
curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file);
$content_login=curl_exec($ch);
//print_r($content_login);
var_dump($cookie_file);
curl_close($ch);

  测试什么都没有显示,因为:

$content_login=curl_exec($ch);
//print_r($content_login);

  后面会解释,继续:

 $ch2=curl_init();
$login_url2=网址2";
curl_setopt($ch2,CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible;MS IE 9.0; Windows NT 6.1; WOW 64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.0.30729; BRI/2; MASM; .NET4.0C; .NET4.0E; InfoPath.3; Media Center PC 6.0; SE 2.X MeTaSr 1.0)');
curl_setopt($ch2,CURLOPT_HEADER,0);
curl_setopt($ch2,CURLOPT_URL,$login_url2);
curl_setopt($ch2,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch2,CURLOPT_CONNECTTIMEOUT,120); curl_setopt($ch2,CURLOPT_AUTOREFERER,1);
curl_setopt($ch2,CURLOPT_POST,1); curl_setopt($ch2,CURLOPT_POSTFIELDS,$curlPost);
curl_setopt($ch2,CURLOPT_REFERER,"来源");
//设置连接结束后保存cookie信息的文件
curl_setopt($ch2,CURLOPT_COOKIEFILE,$cookie_file);
$content_login=curl_exec($ch2);
//$content_login='1';
print_r($content_login);
//curl_exec($ch);
curl_close($ch2);

  在这里,用到的是同一个cookie,这样服务器就可以直接识别了。

$content_login=curl_exec($ch2);

  这是获取到网页上的内容。

print_r($content_login);

  这是将获取到的内容打印出来,如果你细心,你可以发现前面有:

$content_login='1';

  这么一句话被我注释掉了,这是我检测是否能修改数据用的,当初在获取课表的时候就不能修改获得的数据,也不知道是为何,但是在这里可以。

  如果账号密码错了,就会按网站那样弹出个对话框显示账号密码错误,这样,只要再数据表里面再添加一项student_id便可以了,一个账号只能用一次。

  

  真心希望这次能真正的制止住刷票,我已经心疲力尽了。

  也谢谢网友们,蘑菇街的验证码真心好,我也弄出来了,明天与大家分享,但是刷票器有个功能是手工输入验证码,这又没辙了,所以放弃验证码了。

  我要被那些人骂死了。

  

转载请注明出处:http://www.cnblogs.com/yydcdut/p/3472248.html

关于PHP写的投票网站之刷票终结版的更多相关文章

  1. 关于PHP写的投票网站之刷票风云

    最近学校导航站找我让我给他们做一个投票系统的网站,我一口答应了,他们只是要求不准刷票情况出现,我也一口答应了..我答应的太干脆了. 然后我便开始做这个网站,网站做出来没花太多时间,并且我是用IP来判断 ...

  2. 利用django创建一个投票网站(五)

    创建你的第一个 Django 项目, 第五部分 这一篇从第四部分(en)结尾的地方继续讲起.我们在前几章成功的构建了一个在线投票应用,在这一部分里我们将其创建一些自动化测试. 自动化测试简介 自动化测 ...

  3. 利用django创建一个投票网站(二)

    创建你的第一个 Django 项目, 第二部分 这一篇从第一部分(zh)结尾的地方继续讲起.本节我们将继续写 Web 投票应用,并主要关注 Django 提供的自动生成的管理页面(admin site ...

  4. 利用django创建一个投票网站(一)

    这是教程的原始链接:http://django-intro-zh.readthedocs.io/zh_CN/latest/part1/ 创建你的第一个 Django 项目, 第一部分 来跟着实际项目学 ...

  5. IIS写权限漏洞和XFF刷票原理

    IIS写权限漏洞 PUT写入漏洞 此漏洞主要是因为服务器开启了webdav的组件导致的 1.扫描漏洞,yes,可以PUT: 2.用老兵的工具上传一句话文件test.txt,然后move改名为shell ...

  6. redis 实例2 构建文章投票网站后端

    redis 实例2 构建文章投票网站后端   1.限制条件 一.如果网站获得200张支持票,那么这篇文章被设置成有趣的文章 二.如果网站发布的文章中有一定数量被认定为有趣的文章,那么这些文章需要被设置 ...

  7. Web信息架构——设计大型网站(第3版)(久负盛名经典再现,信息架构设计领域基石之作!)

    Web信息架构——设计大型网站(第3版)(久负盛名经典再现,信息架构设计领域基石之作!) [美]]Peter Morville(彼得·莫维尔)  Louis Rosenfeld(路易斯·罗森菲尔德) ...

  8. PC网站转换成手机版

    博客地址:https://www.cnblogs.com/zxtceq/p/5714606.html 一天完成把PC网站改为自适应!原来这么简单! http://www.webkaka.com/blo ...

  9. 基于Html5的爱情主题网站–表白神器(第二版)

    第二版在第一版的基础上增加了一个动态3D的白云效果背景,鼠标悬浮在页面上云朵会向屏幕Z轴方向运动,在第一人称视角看来向着云朵方向前进的,由此形成一个伪3D效果.有点绕,直接看demo就能理解了.3D白 ...

随机推荐

  1. shell rename directory

    mv can do two jobs. It can move files or directories It can rename files or directories To just rena ...

  2. python可变数据和不可变数据

    可变数据类型:列表list和字典dict: 不可变数据类型:整型int.浮点型float.字符串型string和元组tuple 可变与不可变是相对“引用地址”来说的.python中的不可变数据类型,不 ...

  3. Django中使用locals()函数的技巧

    对 current_datetime 的一次赋值操作: def current_datetime(request): now = datetime.datetime.now() return rend ...

  4. 快速排序之C++实现

    快速排序之C++实现 一趟快速排序的算法是: 1)设置两个变量i.j,排序开始的时候:i=0,j=N-1: 2)以第一个数组元素作为关键数据,赋值给key,即key=A[0]: 3)从j开始向前搜索, ...

  5. Codeforces.714D.Searching Rectangles(交互 二分)

    题目链接 \(Description\) 在一个\(n*n\)的二维平面中有两个不相交的整点矩形,每次可以询问两个矩形有几个完全在你给出的一个矩形中.200次询问内确定两个矩形坐标. \(Soluti ...

  6. Git 历险记

    Git历险记(一) 作为分布式版本控制系统的重要代表--Git已经为越来越多的人所认识,它相对于我们熟悉的CVS.SVN甚至同时分布式控制系统的Mercurial,有哪些优势和不足呢.这次InfoQ中 ...

  7. CentOS下重新安装yum的方法

    不小心误删除了VPS下面的yum,大家都知道yum在linux中是很重要的一个功能,软件的下载,系统的更新都要靠他.没有yum,系统基本处于半残废状态. yum的安装操作: 在SSH里面依次输入下面的 ...

  8. hdu 4025 Equation of XOR 状态压缩

    思路: 设: 方程为 1*x1 ^ 1*x2 ^ 0*x3 = 0; 0*x1 ^ 1*x2 ^ 1*x3 = 0; 1*x1 ^ 0*x2 ^ 0*x3 = 0 把每一列压缩成一个64位整数,因为x ...

  9. codevs 1004 四子连棋 BFS、hash判重

    004 四子连棋 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold       题目描述 Description 在一个4*4的棋盘上摆放了14颗棋子,其中有7颗白色棋 ...

  10. 无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel._Application”

    报错内容如下: 无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的COM对象强制转换为接口类型“Microsoft.Office.Inte ...