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

倒数第三项是时间轴,倒数第二项是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. CSS3组件化之ios版菊花loading

    <div class="juhua-loading"> <div class="jh-circle1 jh-circle-ios">&l ...

  2. python opencv3 检测人

    git:https://github.com/linyi0604/Computer-Vision # coding:utf-8 import cv2 # 检测i方框 包含o方框 def is_insi ...

  3. win32创建窗口函数(windows程序内部运行机制)

    利用win32创建窗口函数,主要操作步骤为: 1.设计一个窗口类 2.注册窗口类 3.创建窗口 4.显示及窗口更新 5.消息循环 6.窗口过程函数   (1)设计一个窗口类 设计窗口类,这样的类型已经 ...

  4. grunt自动化

    1.安装模块 npm install grunt -g npm install grunt-cli -g #! --save-dev 既会把模块安装到项目node_modules下,也会安装到依赖文件 ...

  5. C#管理windows服务

    .NET Framework中提供了现成的类库可以很方便的实现对windows服务的安装.卸载.启动.停止.获取运行状态等功能.这些类都在System.ServiceProcess命名空间下. 安装w ...

  6. 【转】说下lua使用场景

    [今日话题]说下lua使用场景 – flea 1. 我们有用,一些逻辑相对简单,没有复杂的数据交互,访问频次超高的接口实现,可以用lua,省得用phpfpm,太重,浪费资源. – 付坤   2. 也可 ...

  7. [POI2012]Salaries

    题目大意: 给定一棵n带权树,每个点的权值在[1,n]范围内且互不相等,并满足子结点的权值一定小于父结点. 现在已知一个包含根结点的联通块中个点的权值,求剩下哪些点的权值能够被求出,并求出这些权值. ...

  8. NOIP 算法模板

    Hash: #include <iostream> #include <cstdio> #include <cstdlib> #include <algori ...

  9. Codeforces Round #257 (Div. 2) A. Jzzhu and Children

    A. Jzzhu and Children time limit per test 1 second memory limit per test 256 megabytes input standar ...

  10. centos7安装zookeeper3.4.9集群

    本篇文章目的:以最小成本学习zookeeper的集群安装. zookeeper的三要素: 1.一致,能够保证数据的一致性 2.有头,始终有一个leader,node/2+1个节点有效,就能正常工作 3 ...