PHP获取客户端ip的五种方式
生活随笔
收集整理的這篇文章主要介紹了
PHP获取客户端ip的五种方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
方法一
1 <?php 2 $ip = $_SERVER["REMOTE_ADDR"]; 3 echo $ip;方法二
<?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 function getRealIp() {$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 getRealIp();方法四
<?php 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 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地區的一個接口
$url="http://ip.taobao.com/service/getIpInfo.php?ip=".$ip; $ip=json_decode(file_get_contents($url)); if((string)$ip->code=='1'){return false; } $data = (array)$ip->data;?
?
參考地址:http://blog.csdn.net/bai615_2011/article/details/45072291
轉載于:https://www.cnblogs.com/fishs/p/7240248.html
總結
以上是生活随笔為你收集整理的PHP获取客户端ip的五种方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: git相关资料
- 下一篇: PHP5.3--PHP7 新特性总结