Home >php教程 >php手册 >It's the end of the year. Let's create a php program that simulates IP to brush votes.

It's the end of the year. Let's create a php program that simulates IP to brush votes.

WBOY
WBOYOriginal
2016-07-09 09:10:371150browse
<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> ?>

Scope of use: All voting websites that restrict IP addresses. The number of votes can reach 254*254*254*254.

How to prevent this type of ticket fraud:

Use first when obtaining the client IP:

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

Using remote_addr can effectively control simulated IP voting. It can be bypassed unless a proxy is used. However, using the web to implement a proxy is very slow.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn