PHP获取用户真实IP方法1:
<?phpfunction 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:
<?phperror_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:
<?phpfunction 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:
<?phpif(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数及在线人数的示例代码
- bt宝塔面板php7.3、php7.4不支持ZipArchive解决方法
- 通过PHP实现获取访问用户IP
- 原生javascript的ajax请求及后台PHP响应操作示例
- PHP生成zip压缩包的常用方法示例
- php解压缩zip和rar压缩包文件的方法
- PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
- 实例介绍PHP中zip_open()函数用法