• PHP判断ip地址是否合法


    1.获取真正ip地址

    function get_ip(){
        //判断服务器是否允许$_SERVER
        if(isset($_SERVER)){
            if(isset($_SERVER[HTTP_X_FORWARDED_FOR])){
                $realip = $_SERVER[HTTP_X_FORWARDED_FOR];
            }elseif(isset($_SERVER[HTTP_CLIENT_IP])) {
                $realip = $_SERVER[HTTP_CLIENT_IP];
            }else{
                $realip = $_SERVER[REMOTE_ADDR];
            }
        }else{
            //不允许就使用getenv获取
            if(getenv("HTTP_X_FORWARDED_FOR")){
                $realip = getenv( "HTTP_X_FORWARDED_FOR");
            }elseif(getenv("HTTP_CLIENT_IP")) {
                $realip = getenv("HTTP_CLIENT_IP");
            }else{
                $realip = getenv("REMOTE_ADDR");
            }
        }
     
        return $realip;
    }
    

     2.验证ip是否合理两种方法

       # 一

     /**
         * 判断IP输入是否合法
         * @param type $ip IP地址
         * @return int 等于1是输入合法  0 输入不合法
         */
        public static function isIp($ip) {
            if (preg_match('/^((?:(?:25[0-5]|2[0-4]d|((1d{2})|([1-9]?d))).){3}(?:25[0-5]|2[0-4]d|((1d{2})|([1 -9]?d))))$/', $ip)) {
                return 1;
            } else {
                return 0;
            }
        }
    

       # 二

        function checkIp($ip)
        {
            $arr = explode('.',$ip);
            if(count($arr) != 4){
                return false;
            }else{
                for($i = 0;$i < 4;$i++){
                    if(($arr[$i] <'0') || ($arr[$i] > '255')){
                        return false;
                    }
                }
            }
            return true;
        }
    
  • 相关阅读:
    RxJava系列7(最佳实践)
    异步编程 z
    利用WCF的双工通讯实现一个简单的心跳监控系统 z
    c#深拷贝
    MEF load plugin from directory
    C# 文件操作 把文件读取到字节数组
    code md5
    gridview转成EXCEL文件保存(多页)
    Getting started with SciPy for .NET
    IronPython调用C# DLL函数方法
  • 原文地址:https://www.cnblogs.com/gyrgyr/p/9455866.html
Copyright © 2020-2023  润新知