<?php

    echo '前端机IP:'.$_SERVER['REMOTE_ADDR'];
    echo '<br />';
    echo '后端机IP:'.$_SERVER['SERVER_ADDR'];
    echo '<br />';
    echo '客户机IP:'.$_SERVER['HTTP_X_FORWARDED_FOR'];
    echo '<br />';
    echo '代理端IP:'.$_SERVER['HTTP_CLIENT_IP'];
    echo '<br />';
    echo '代理IP:'.$_SERVER['HTTP_X_FORWARDER_FOR'];
    echo '<br />';

?>

二、

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2017/4/3
 * Time: 14:26
 */
function _getIp()
{
    if ($ip = getenv('HTTP_CLIENT_IP'))
        ;
    elseif ($ip = getenv('HTTP_X_FORWARDED_FOR'))
        ;
    elseif ($ip = getenv('HTTP_X_FORWARDED'))
        ;
    elseif ($ip = getenv('HTTP_FORWARDED_FOR'))
        ;
    elseif ($ip = getenv('HTTP_FORWARDED'))
        ;
    else
        $ip = $_SERVER['REMOTE_ADDR'];

    if (strpos($ip, ",") !== FALSE) {
        return substr($ip, 0, strpos($ip, ","));
    }
    return $ip;
}
// 判断网段
$ip = _getIp();
$net_seg = substr($ip, 0, strrpos($ip, '.'));
$legalIP = [];
if (isset($legalIP) && !in_array($net_seg, $legalIP) ) {
    echo '/error/no-access:'.$ip;
    exit();
}
echo "success:".$ip;

PHP获取服务器IP和客户端IP的更多相关文章

  1. 面试题目: 获取服务器IP和客户端IP

    [面试题目] 怎么获取服务器IP和客户端IP地址? I. PHP获取客户端IP, 可通过下面系统变量 1. $_SERVER['Remote_Addr'] 2. $_SERVER['HTTP_CLIE ...

  2. 获取访问用户的客户端IP(适用于公网与局域网).

     /**   * 获取访问用户的客户端IP(适用于公网与局域网).   */   public final String getIpAddr(final HttpServletRequest requ ...

  3. C#中获取服务器IP,客户端IP以及网卡物理地址

    客户端ip: Request.ServerVariables.Get("Remote_Addr").ToString(); 客户端主机名: Request.ServerVariab ...

  4. c#中获取服务器IP,客户端IP以及Request.ServerVariables详细说明

    客户端ip: Request.ServerVariables.Get("Remote_Addr").ToString();  客户端主机名: Request.ServerVaria ...

  5. c#中获取服务器IP,客户端IP以及其它

    客户端ip:Request.ServerVariables.Get("Remote_Addr").ToString();客户端主机名:Request.ServerVariables ...

  6. C# 之 获取服务器IP,客户端IP以及其它

    1.获取客户端IP:Request.ServerVariables.Get("Remote_Addr").ToString(); 2.获取客户端主机名:Request.Server ...

  7. 获取服务器IP,客户端IP

    客户端IP相关的变量 1. $_SERVER['REMOTE_ADDR']; 客户端IP,有可能是用户的IP,也有可能是代理的IP. 2. $_SERVER['HTTP_CLIENT_IP']; 代理 ...

  8. Java获取服务器IP和客户端IP

    服务器IP: String addr = InetAddress.getLocalHost().getHostAddress(); 说明:很明显上面是没考虑到服务器有多个iP的情况. 客户顿啊IP: ...

  9. C# 取得内网IP、外网IP、客户端IP方法

    前言 在 Windows Form Application 里对于取得 IP Address 有内网.外网两种 IP Address ,如果只需要取得内网 IP Address ,可以透过使用 IPH ...

随机推荐

  1. 如何查看Linux命令的源代码

    首先要在系统设置-->软件和更新-->Ubuntu软件中勾选源代码选项,否则在下载source时会报如下错: E:您必须在sources.list中指定源代码(deb-src)URI 然后 ...

  2. requests爆破+简单数字验证码

    验证码用正则获取 然后提交:访问方式为get:由于有验证码 要用session:注意:获取验证码的时候所打开的网页要用当前session(即要get的) 不能另外打开(如urllib中的打开网页)网页 ...

  3. 给centos装图形界面 widowsx

    检查Linux系统是否能够联网.   执行命令 yum -y groupinstall Desktop   等上面的命令执行完后,再执行这条命令 yum -y groupinstall "X ...

  4. NameNode和SecondaryNameNode工作原理剖析

    NameNode和SecondaryNameNode工作原理剖析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.NameNode中的元数据是存储在那里的? 1>.首先,我 ...

  5. 【JS】JavaScript 指定日期增加天数

    指定某个日期(字符串),增加n天后,输出日期字符串,格式:年-月-日: /** * [dateAddDays 从某个日期增加n天后的日期] * @param {[string]} dateStr [日 ...

  6. python之路(6)迭代器和生成器

     目录 迭代器(Iterator) 生成器(Generator) 迭代器 迭代器协议:对象提供一个next方法,执行该方法要么返回下一项,要么引起一个Stopiteration异常 可迭代对象:实现了 ...

  7. 非阻塞读和写:str_cli函数

    void str_cli(FILE *fp, int sockfd) { int maxfdp1, val, stdineof; ssize_t n, nwritten; fd_set rset, w ...

  8. JdLibrary 的使用

    写一个类 public class Init { public static void InitAssembly() { JdLibrary.JdEx.Excepteion = Object(new ...

  9. Solr配置步骤

    1. 配置步骤说明 (1)配置Solr服务器. (2)配置SolrHome.(Solr服务的主目录,磁盘) (3)在Solr服务器中加载SolrHome. (4)java程序访问Solr服务器,实现全 ...

  10. 20164305 徐广皓 Exp1+ 逆向进阶

    实验内容 Task1 (5-10分) 自己编写一个64位shellcode.参考shellcode指导. 自己编写一个有漏洞的64位C程序,功能类似我们实验1中的样例pwn1.使用自己编写的shell ...