Home > Backend Development > PHP Tutorial > php set random ip access

php set random ip access

angryTom
Release: 2023-04-07 16:36:02
forward
3351 people have browsed it

php set random ip access

When we request a site, the http header will carry some IP information. By forging this information, we can form the effect of different IP access requests.

Header header CLIENT-IP and X-FORWARDED-FOR are set to the IP we want to forge, and the server will get the IP we specified. ip.

Recommended learning: PHP video tutorial

##X-Forwarded-For is an extension header. The HTTP/1.1 (RFC 2616) protocol does not define it. It was first introduced by Squid, a caching proxy software, to represent the real IP of the HTTP requester. Now it has become a de facto standard and is used by major HTTP proxies, Forwarding services such as load balancing are widely used and are written into the RFC 7239 (Forwarded HTTP Extension) standard.

In the case of normal TCP/IP two-party communication, the source IP cannot be forged, that is, It is said that in the TCP/IP protocol, the source IP of the data packet can be forged, but this will make the sent data packet never return, making normal communication impossible. This is just like when we write a letter to the other party, if we write the wrong sender's address, and the recipient replies according to the sender's address on the envelope, the original sender will not be able to receive the reply.

Some DDoS attacks, such as SYN flood, take advantage of this flaw in TCP/ip to implement the attack.

The following describes how PHP constructs random access.

<?php
function curl($url,$ifpost = 0, $datafields = &#39;&#39;, $cookiefile = &#39;&#39;, $v = false){
$ip_long = array(
            array(&#39;607649792&#39;, &#39;608174079&#39;), //36.56.0.0-36.63.255.255
            array(&#39;1038614528&#39;, &#39;1039007743&#39;), //61.232.0.0-61.237.255.255
            array(&#39;1783627776&#39;, &#39;1784676351&#39;), //106.80.0.0-106.95.255.255
            array(&#39;2035023872&#39;, &#39;2035154943&#39;), //121.76.0.0-121.77.255.255
            array(&#39;2078801920&#39;, &#39;2079064063&#39;), //123.232.0.0-123.235.255.255
            array(&#39;-1950089216&#39;, &#39;-1948778497&#39;), //139.196.0.0-139.215.255.255
            array(&#39;-1425539072&#39;, &#39;-1425014785&#39;), //171.8.0.0-171.15.255.255
            array(&#39;-1236271104&#39;, &#39;-1235419137&#39;), //182.80.0.0-182.92.255.255
            array(&#39;-770113536&#39;, &#39;-768606209&#39;), //210.25.0.0-210.47.255.255
            array(&#39;-569376768&#39;, &#39;-564133889&#39;), //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]));
$header = array("Connection: Keep-Alive","Accept: text/html, application/xhtml+xml, */*", "Pragma: no-cache", "Accept-Language: zh-Hans-CN,zh-Hans;q=0.8,en-US;q=0.5,en;q=0.3","User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)",&#39;CLIENT-IP:&#39;.$ip,&#39;X-FORWARDED-FOR:&#39;.$ip); 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, $v); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $header); 
$ifpost && curl_setopt($ch, CURLOPT_POST, $ifpost); 
$ifpost && curl_setopt($ch, CURLOPT_POSTFIELDS, $datafields); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
$cookiefile && curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile); 
$cookiefile && curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile); 
curl_setopt($ch,CURLOPT_TIMEOUT,30); //允许执行的最长秒数
$ok = curl_exec($ch); 
curl_close($ch); 
unset($ch);
return $ok;
}
print_r(curl("URL"));
?>
Copy after login

The above is the detailed content of php set random ip access. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:www.80shihua.com
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template