Heim > php教程 > php手册 > Hauptteil

年关了,抛一个模拟ip刷票的php程序

WBOY
Freigeben: 2016-07-09 09:10:37
Original
1115 Leute haben es durchsucht
<span style="color: #008080;"> 1</span> <span style="color: #000000;">php
</span><span style="color: #008080;"> 2</span> <span style="color: #800080;">$ip</span> = <span style="color: #800080;">$_GET</span>['ip'] ? <span style="color: #800080;">$_GET</span>['ip'] : '1.1.1.1'<span style="color: #000000;">;
</span><span style="color: #008080;"> 3</span> <span style="color: #800080;">$ipArr</span> = <span style="color: #008080;">explode</span>(".", <span style="color: #800080;">$ip</span><span style="color: #000000;">);
</span><span style="color: #008080;"> 4</span> <span style="color: #800080;">$ipArr</span>[3] = <span style="color: #800080;">$ipArr</span>[3] + 1<span style="color: #000000;">;
</span><span style="color: #008080;"> 5</span> <span style="color: #0000ff;">if</span> ( <span style="color: #800080;">$ipArr</span>[3] > 254<span style="color: #000000;"> )
</span><span style="color: #008080;"> 6</span> <span style="color: #000000;">{
</span><span style="color: #008080;"> 7</span>     <span style="color: #800080;">$ipArr</span>[3] = 1<span style="color: #000000;">;
</span><span style="color: #008080;"> 8</span>     <span style="color: #800080;">$ipArr</span>[2] = <span style="color: #800080;">$ipArr</span>[2] + 1<span style="color: #000000;">;
</span><span style="color: #008080;"> 9</span> <span style="color: #000000;">}
</span><span style="color: #008080;">10</span> <span style="color: #0000ff;">if</span> ( <span style="color: #800080;">$ipArr</span>[2] > 254<span style="color: #000000;"> )
</span><span style="color: #008080;">11</span> <span style="color: #000000;">{
</span><span style="color: #008080;">12</span>     <span style="color: #800080;">$ipArr</span>[2] = 1<span style="color: #000000;">;
</span><span style="color: #008080;">13</span>     <span style="color: #800080;">$ipArr</span>[1] = <span style="color: #800080;">$ipArr</span>[1] + 1<span style="color: #000000;">;
</span><span style="color: #008080;">14</span> <span style="color: #000000;">}
</span><span style="color: #008080;">15</span> <span style="color: #0000ff;">if</span> ( <span style="color: #800080;">$ipArr</span>[1] > 254<span style="color: #000000;"> )
</span><span style="color: #008080;">16</span> <span style="color: #000000;">{
</span><span style="color: #008080;">17</span>     <span style="color: #800080;">$ipArr</span>[1] = 1<span style="color: #000000;">;
</span><span style="color: #008080;">18</span>     <span style="color: #800080;">$ipArr</span>[0] = <span style="color: #800080;">$ipArr</span>[0] + 1<span style="color: #000000;">;
</span><span style="color: #008080;">19</span> <span style="color: #000000;">}
</span><span style="color: #008080;">20</span> <span style="color: #0000ff;">if</span> ( <span style="color: #800080;">$ipArr</span>[0] > 254<span style="color: #000000;"> )
</span><span style="color: #008080;">21</span> <span style="color: #000000;">{
</span><span style="color: #008080;">22</span>     <span style="color: #0000ff;">exit</span><span style="color: #000000;">();
</span><span style="color: #008080;">23</span> <span style="color: #000000;">}
</span><span style="color: #008080;">24</span> <span style="color: #800080;">$ip</span> = <span style="color: #008080;">implode</span>(".", <span style="color: #800080;">$ipArr</span><span style="color: #000000;">);
</span><span style="color: #008080;">25</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 此处设置投票的id</span>
<span style="color: #008080;">26</span> <span style="color: #800080;">$post_data</span> = 'vid=8'<span style="color: #000000;">;
</span><span style="color: #008080;">27</span> 
<span style="color: #008080;">28</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 投票的地址</span>
<span style="color: #008080;">29</span> <span style="color: #800080;">$url</span> = 'http://www.xxx.com/api.php?m=vote&a=voteto'<span style="color: #000000;">;
</span><span style="color: #008080;">30</span> <span style="color: #800080;">$user_agent</span> = "Mozilla/4.0"<span style="color: #000000;">;
</span><span style="color: #008080;">31</span> 
<span style="color: #008080;">32</span> <span style="color: #800080;">$headers</span>['CLIENT-IP'] = <span style="color: #800080;">$ip</span><span style="color: #000000;">;
</span><span style="color: #008080;">33</span> <span style="color: #800080;">$headers</span>['X-FORWARDED-FOR'] = <span style="color: #800080;">$ip</span><span style="color: #000000;">;
</span><span style="color: #008080;">34</span> 
<span style="color: #008080;">35</span> <span style="color: #800080;">$headerArr</span> = <span style="color: #0000ff;">array</span><span style="color: #000000;">();
</span><span style="color: #008080;">36</span> <span style="color: #0000ff;">foreach</span> ( <span style="color: #800080;">$headers</span> <span style="color: #0000ff;">as</span> <span style="color: #800080;">$n</span> => <span style="color: #800080;">$v</span><span style="color: #000000;"> )
</span><span style="color: #008080;">37</span> <span style="color: #000000;">{
</span><span style="color: #008080;">38</span>     <span style="color: #800080;">$headerArr</span>[] = <span style="color: #800080;">$n</span> . ':' . <span style="color: #800080;">$v</span><span style="color: #000000;">;
</span><span style="color: #008080;">39</span> <span style="color: #000000;">}
</span><span style="color: #008080;">40</span> 
<span style="color: #008080;">41</span> <span style="color: #800080;">$ch</span> =<span style="color: #000000;"> curl_init();
</span><span style="color: #008080;">42</span> curl_setopt(<span style="color: #800080;">$ch</span>, CURLOPT_POST, 1<span style="color: #000000;">);
</span><span style="color: #008080;">43</span> curl_setopt(<span style="color: #800080;">$ch</span>, CURLOPT_URL, <span style="color: #800080;">$url</span><span style="color: #000000;">);
</span><span style="color: #008080;">44</span> 
<span style="color: #008080;">45</span> curl_setopt(<span style="color: #800080;">$ch</span>, CURLOPT_HTTPHEADER, <span style="color: #800080;">$headerArr</span>); <span style="color: #008000;">//</span><span style="color: #008000;"> 构造IP</span>
<span style="color: #008080;">46</span> curl_setopt(<span style="color: #800080;">$ch</span>, CURLOPT_REFERER, "http://www.baidu.com/ "); <span style="color: #008000;">//</span><span style="color: #008000;"> 构造来路</span>
<span style="color: #008080;">47</span> curl_setopt(<span style="color: #800080;">$ch</span>, CURLOPT_HEADER, 1<span style="color: #000000;">);
</span><span style="color: #008080;">48</span> 
<span style="color: #008080;">49</span> curl_setopt(<span style="color: #800080;">$ch</span>, CURLOPT_USERAGENT, <span style="color: #800080;">$user_agent</span><span style="color: #000000;">);
</span><span style="color: #008080;">50</span> curl_setopt(<span style="color: #800080;">$ch</span>, CURLOPT_POSTFIELDS, <span style="color: #800080;">$post_data</span><span style="color: #000000;">);
</span><span style="color: #008080;">51</span> 
<span style="color: #008080;">52</span> <span style="color: #008080;">ob_start</span><span style="color: #000000;">();
</span><span style="color: #008080;">53</span> curl_exec(<span style="color: #800080;">$ch</span><span style="color: #000000;">);
</span><span style="color: #008080;">54</span> <span style="color: #800080;">$result</span> = <span style="color: #008080;">ob_get_contents</span><span style="color: #000000;">();
</span><span style="color: #008080;">55</span> <span style="color: #008080;">ob_end_clean</span><span style="color: #000000;">();
</span><span style="color: #008080;">56</span> 
<span style="color: #008080;">57</span> <span style="color: #0000ff;">echo</span> <span style="color: #800080;">$result</span><span style="color: #000000;">;
</span><span style="color: #008080;">58</span> <span style="color: #0000ff;">echo</span> '<meta http-equiv="refresh" content="1;url=http://localhost/phpk/post.php?ip=' . <span style=" color:>$ip . '"> '<span style="color: #000000;">;
</span><span style="color: #008080;">59</span> ?>
Nach dem Login kopieren

 

使用范围:所有限制ip地址的投票网站。投票数可到254*254*254*254。

 

 

如何防范该类刷票行为:

在获取客户端ip的时候优先使用:

<span style="color: #800080;">$ip</span> = <span style="color: #008080;">getenv</span>('REMOTE_ADDR');
Nach dem Login kopieren

用remote_addr可以有效控制模拟ip投票,除非使用代理才能绕过去,但是用web实现代理,速度就很慢了。

 

 

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!