在我们需要获得用户的实在IP地址,比如登录、地理位置、用户信息、网站数据分析等。实在获得IP地址$_SERVER[\‘REMOTE_ADDR\‘]很是简单。下面我们总结几种常用的获得IP地址的方式。
//方式1:
layui-box layui-code-view" style="margin-top: 10px; margin-bottom: 10px; padding: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); white-space: pre-wrap; overflow-wrap: break-word; box-sizing: content-box; position: relative; font-size: 12px; border-width: 1px 1px 1px 6px; border-style: solid; border-color: rgb(226, 226, 226); border-image: initial; background-color: rgb(242, 242, 242); color: rgb(51, 51, 51); font-family: "Courier New";">code
- $ip = $_SERVER["REMOTE_ADDR"];
- echo $ip;
//方式2:
复制代码
code
- $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;
//方式3:
code
- 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();
//方式4:
code
- 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 ;
//方式5:
code
- 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;
//方式6:
code
- print "您的IP地址是:";
-
-
- 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 = "没法获得!";
- }
- print $cip;