脚本宝典收集整理的这篇文章主要介绍了PHP 使用CURL库IP欺骗,隐藏真实客户端IP,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
首先搭建环境,建立个ip.PHP.
代码如下:
<?
error_reporting(0);
function GetIP(){
if($_SERVER[‘HTTP_CLIENT_IP‘]){
$onlineip=$_SERVER[‘HTTP_CLIENT_IP‘];
}elseif($_SERVER[‘HTTP_X_FORWARDED_FOR‘]){
$onlineip=$_SERVER[‘HTTP_X_FORWARDED_FOR‘];
}else{
$onlineip=$_SERVER[‘REMOTE_ADDR‘];
}
return $onlineip;
}
?>
再建立个index.PHP
代码如下:
<?PHP
error_reporting(0);
require ‘ip.PHP‘;
echo ‘<hr>‘.‘Your IP is ‘.GetIP().‘<br>‘.‘<hr>‘;
/*echo ‘REMOTE_ADDR is ‘.$_SERVER[‘REMOTE_ADDR‘].‘<br>‘;
echo ‘HTTP_CLIENT_IP is ‘.$_SERVER[‘HTTP_CLIENT_IP‘].‘<br>‘;
echo ‘HTTP_X_FORWARDED_FOR is ‘.$_SERVER[‘HTTP_X_FORWARDED_FOR‘].‘<br>‘;
echo ‘HTTP_VIA is ‘.$_SERVER[‘HTTP_VIA‘];*/
?>
测试
去掉index.PHP里面的注释,使用代理观察
HTTP_XFORWARDED_FOR还是抓到了客户端的真实IP
<?PHP
error_reporting(0);
function curl_string ($url,$user_agent,$PRoxy){
$ch = curl_init();
curl_setopt ($ch,CURLOPT_PROXY,$proxy);
curl_setopt ($ch,CURLOPT_URL,$url);
curl_setopt ($ch,CURLOPT_USERAGENT,$user_agent);
curl_setopt ($ch,CURLOPT_cookiejar,"d:\cookies.txt");
curl_setopt ($ch,CURLOPT_HEADER,1);
curl_setopt ($ch,CURLOPT_HTTPHEADER,array(‘CLIENT-iP:125.210.188.36‘,‘X-FORWARDED-FOR:125.210.188.36‘)); //此处可以改为任意假IP
curl_setopt ($ch,CURLOPT_RETURNtransfer,CURLOPT_FOLLOWLOCATION,CURLOPT_TIMEOUT,120);
$result = curl_exec ($ch);
curl_close($ch);
return $result;
}
$url_page = "http://s4nd.no-ip.org/test/index.PHP";
$user_agent = "Mozilla/4.0";
$proxy = "http://125.210.188.36:80"; //此处为代理服务器IP和PORT
$string = curl_string($url_page,$proxy);
echo $string;
?>
访问curl_proxy.PHP
122.66.*.*是运行脚本服务器的IP,这样就实现了隐藏客户端真实IP的目的。
有的代理服务器会被HTTP_VIA方法侦测到使用了代理服务器,实际上透明代理和高级匿名代理有很大区别。
以上是脚本宝典为你收集整理的PHP 使用CURL库IP欺骗,隐藏真实客户端IP全部内容,希望文章能够帮你解决PHP 使用CURL库IP欺骗,隐藏真实客户端IP所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。