PHP实现网络刷投票

PHP刷投票,让你高居榜首!

案例为一个半月以前。没有及时放出原因有二,一是因为博客域名备案没有下来,没有心情写东西。二是最主要的,及时放出对案例网站有严重的损害,不是我等IT人应有的。

Ps:刷票有风险,使用需谨慎。本文谨做学习研究讨论之用,不可用作不正当用途!

本文为本博客的处女之作,题材源于近日一朋友要求,是因为她的姐姐参加了一个书法比赛,问我能不能在网站上刷投票。作为刚刚出道一年的小菜鸟,我很惶恐。一年前刚刚接触PHP的时候,完全不知道做,现在第一反应就是Curl。

废话不多说了,直接上代码。

<?php

header('Content-type: text/html; charset=gb2312');

//随机生成IP

$ip1 = rand(101, 255).'.';

$ip2 = rand(1, 255).'.';

$ip3 = rand(1, 255).'.';

$ip4 = rand(1, 255);

$ip = $ip1 . $ip2 . $ip3 . $ip4;

$clientIp = 'CLIENT-IP:'.$ip;

$xforwarded = 'X-FORWARDED-FOR:'.$ip;

//设置目标和来源

$url = 'http://www.dunhuangwomen.org.cn/vote/Vote.asp?id=67';

$referer = 'http://www.dunhuangwomen.org.cn/vote/list.asp?id=2';

//Curl

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url); //目标

curl_setopt($ch, CURLOPT_HTTPHEADER, array($xforwarded, $clientIp)); //构造IP

curl_setopt($ch, CURLOPT_REFERER, $referer); //来源

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_HEADER, 0);

$ret = curl_exec($ch);

curl_close($ch);

echo $ret;

?>

好,来分析一下。

1、仿造IP,网站有限制一个IP在一天只可以投一次

2、填写来源,网站会判断请求的来源是否合法路径

其他就是Curl的常规了选项了。

如何防治?

本人才疏学浅,仅作跑砖引玉。

1、限制IP

本文已经破解

2、限制来源

本文已经破解

3、验证码。作为最反人类的发明之一,可以使用这个拥有高大上的名字的全自动区分计算机和人类的图灵测试。

可用Opencv。

4、记录MAC地址。

理论上每块网卡都有一个唯一的MAC地址,如果更改可能引起冲突而无法上网。目前也可以用软件修改

5、注册会员

虽说仍然可以突破验证码,Curl填写参数然后POST过去,但是门槛毕竟高了一丁点,还是忽略吧。

6、手机

投票时输入手机号和短信验证码,成本高,单位不愿意。用户发送某某指令到某某,用户自掏腰包,用户不愿意。

目前来说,只有验证码,手机并且验证手机的有效性是最好的防治措施。

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2016-02-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SDNLAB

SDN实战团分享(十七):EVPN Architecture

2006年加入JUNIPER中国Systems Engineer团队并兼任臭名昭著的Proctor工作 2010年加入JUNIPER美国大客户技术支持团队(就是...

6239
来自专栏Java学习网

互联网高手教你如何搜集你想要的信息

  写在前面   几个月前,团队邀我做次内部的分享,主题是如何有效搜索信息。这是因为平时工作中,我经常会分享一些专业学习文档,而这些文档的出现往往很及时,回应一...

3588
来自专栏嵌入式程序猿

你想要快速学习和开发J1939吗?

SAE J1939是CAN的一种高层协议,像CANOpen,Devicenet都属于CAN的高层协议,因为J1939算是比较简单的一种,广泛应用于重卡,农林,船...

903
来自专栏钱塘大数据

【钱塘号专栏】大神级程序员才知道的40个小技巧

1、重构是程序员的主力技能。 2、工作日志能提升脑容量。 3、先用profiler调查,才有脸谈优化。 4、注释贵精不贵多。杜绝大姨妈般的“例注”。漫山遍野的碎...

3067
来自专栏星汉技术

计算机基础(一)

2307
来自专栏LET

CPU简介

2769
来自专栏PHP在线

初学者玩好Linux的建议

我把之前的一些学习经验和方法跟大家分享下,希望对大家有所帮助: 一、玩好Linux一定要经常折腾,说白了,就是动手能力一定要强。 我初学Linux那...

4096
来自专栏数据派THU

手把手教你上手python库pydbgen(附代码、安装地址)

1786
来自专栏分布式关系数据库探索

分布式关系数据库探索 - NewSQL 演化过程

回味过去,展望未来,开始分布式数据库探索之旅,首先了解历史,本文大致梳理一下数据库发展过程,从1970年到2018年,数据库的发展过程,仅供参考,交流和学习,感...

3581
来自专栏nimomeng的自我进阶

《2016中国移动开发者大会》参会笔记

总的来说,2016年的综合场(第一天上午)感觉讲的一般,身边的人吐槽也比较多。不过相比之下,iOS场干货就比较多了,演讲者基本都是圈内大V,包括喵神,Sunny...

1102

扫码关注云+社区