文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php教程>PHP获取真实IP及IP模拟方法示例

PHP获取真实IP及IP模拟方法示例

时间:2021-01-14  来源:互联网

本篇文章主要介绍了PHP获取真实IP及IP模拟的方法方法示例,有需要的朋友快来php爱好者看看吧。

u=2559932278,4253672512&fm=11&gp=0.jpg

PHP获取用户真实IP方法1:

<?php

function GetIP(){

if(!empty($_SERVER["HTTP_CLIENT_IP"])){

 $cip = $_SERVER["HTTP_CLIENT_IP"];

}

elseif(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){

 $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];

}

elseif(!empty($_SERVER["REMOTE_ADDR"])){

 $cip = $_SERVER["REMOTE_ADDR"];

}

else{

 $cip = "无法获取!";

}

return $cip;

}

echo GetIP();

?>

PHP获取用户真实IP方法2:

<?php

error_reporting (E_ERROR | E_WARNING | E_PARSE);

if($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]){

$ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];

}

elseif($HTTP_SERVER_VARS["HTTP_CLIENT_IP"]){

$ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];

}

elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"]){

$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];

}

elseif (getenv("HTTP_X_FORWARDED_FOR")){

$ip = getenv("HTTP_X_FORWARDED_FOR");

}

elseif (getenv("HTTP_CLIENT_IP")){

$ip = getenv("HTTP_CLIENT_IP");

}

elseif (getenv("REMOTE_ADDR")){

$ip = getenv("REMOTE_ADDR");

}

else{

$ip = "Unknown";

}

echo $ip;

?>

PHP获取用户真实IP方法3:

<?php

$iipp = $_SERVER["REMOTE_ADDR"];

echo $iipp ;

?>

PHP获取用户真实IP方法4:

<?php

$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];

$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];

echo $user_IP

?>

PHP获取用户真实IP方法5:

<?php

function get_real_ip()

{

$ip=false;

if(!empty($_SERVER["HTTP_CLIENT_IP"])){

 $ip = $_SERVER["HTTP_CLIENT_IP"];

}

if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){

 $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);

 if($ip){

  array_unshift($ips, $ip); $ip = FALSE;

 }

 for($i = 0; $i < count($ips); $i++){

  if (!eregi ("^(10|172\.16|192\.168)\.", $ips[$i])){

  $ip = $ips[$i];

  break;

  }

 }

}

return($ip ? $ip : $_SERVER['REMOTE_ADDR']);

}

echo get_real_ip();

?>

PHP获取用户真实IP方法6:

<?php

if(getenv('HTTP_CLIENT_IP')){

$onlineip = getenv('HTTP_CLIENT_IP');

}

elseif(getenv('HTTP_X_FORWARDED_FOR')){

$onlineip = getenv('HTTP_X_FORWARDED_FOR');

}

elseif(getenv('REMOTE_ADDR')){

$onlineip = getenv('REMOTE_ADDR');

}

else{

$onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];

}

echo $onlineip;

?>

获取用户真实IP原理:

客官看完了业界常用的获取用户真实IP方法后,发现有个共同规律,主要核心就是

HTTP_CLIENT_IP

HTTP_X_FORWARDED_FOR

REMOTE_ADDR

不同的演变,只是代码兼容性罢了!

如何模拟用户真实IP?

问:如果可以伪造模拟HTTP_CLIENT_IP,伪造模拟HTTP_X_FORWARDED_FOR,伪造模拟REMOTE_ADDR,不就可以达到追踪不到用户真实IP的目的了么?

答:楼上理解完全正确!如果做到这样完全可以通杀99%的获取用户真实IP,以用户IP为标识的系统!

支招【LET采集技巧】(curl、socket、fsocketopen、stream_socket_client):

如何模拟HTTP_CLIENT_IP?HTTP_CLIENT_IP可以模拟么?伪装HTTP_CLIENT_IP!

curl_setopt($curl, CURLOPT_HTTPHEADER, array (

'Client_Ip: '.mt_rand(0, 255).'.'.mt_rand(0, 255).'.'.mt_rand(0, 255).'.'.mt_rand(0, 255),

));//优点:伪造成本低,通杀90%系统

如何模拟HTTP_X_FORWARDED_FOR?HTTP_X_FORWARDED_FOR可以模拟么?伪装HTTP_X_FORWARDED_FOR!

curl_setopt($curl, CURLOPT_HTTPHEADER, array (

'X-Forwarded-For: '.mt_rand(0, 255).'.'.mt_rand(0, 255).'.'.mt_rand(0, 255).'.'.mt_rand(0, 255),

));//优点:伪造成本低,通杀90%系统

如何模拟REMOTE_ADDR?REMOTE_ADDR可以模拟么?伪装REMOTE_ADDR!

curl_setopt($curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);

curl_setopt($curl, CURLOPT_PROXY, '1.1.1.1:8080');//自行百度获得普匿代理IP即可,高匿代理IP更佳!

//优点:通杀100%系统

以上就是PHP获取真实IP及IP模拟方法的全部内容,希望对大家的学习有所帮助

相关阅读更多 +
最近更新
排行榜 更多 +
元梦之星最新版手游

元梦之星最新版手游

棋牌卡牌 下载
我自为道安卓版

我自为道安卓版

角色扮演 下载
一剑斩仙

一剑斩仙

角色扮演 下载