This article mainly introduces the PHP curl fake IP address and header information code example, this article gives the server and client implementation code, to provide forgery and server-side detection code, need friends can refer to the
Although Curl is powerful, but can only forge $_server["Http_x_forwarded_for"], for most IP address detection program, $_server["REMOTE_ADDR" is difficult to be forged:
First, it's client.php code.
The code is as follows:
$headers['CLIENT-IP'] = '202.103.229.40'; $headers['X-FORWARDED-FOR'] = '202.103.229.40'; $headerArr = array(); Foreach( $headers as $n => $v ) { $headerArr[] = $n .':' . $v; } Ob_start(); $ch = curl_init(); Curl_setopt ($ch, CURLOPT_URL, "http://localhost/curl/server.php"); Curl_setopt ($ch, CURLOPT_HTTPHEADER , $headerArr ); //Structure IP Curl_setopt ($ch, CURLOPT_REFERER, "http://www.163.com/ "); //Structure Curl_setopt( $ch, CURLOPT_HEADER, 1); Curl_exec($ch); Curl_close ($ch); $out = ob_get_contents(); Ob_clean(); Echo $out;
And then the server.php.
The code is as follows:
Function GetIP(){ If(!emptyempty($_SERVER["HTTP_CLIENT_IP"])) $cip = $_SERVER["HTTP_CLIENT_IP"]; Else if(!emptyempty($_SERVER["HTTP_X_FORWARDED_FOR"])) $cip = $_SERVER["HTTP_X_FORWARDED_FOR"]; Else if(!emptyempty($_SERVER["REMOTE_ADDR"])) $cip = $_SERVER["REMOTE_ADDR"]; Else $cip = "Unable to get!"; Return $cip; } echo " Access IP: ". GetIP (). " "; echo " Access routing: ". $_server[" Http_referer "];
Related Article:Use Lua to implement PHP's Var_dump () function _lua