allow domain,ip wildcard

 protected function validateRedirectUri($domains,$ip,$redirect_uri)
        {  
            $validDomain = 0;
            $validIP = 0;
            $server_ip = $_SERVER['REMOTE_ADDR'];
           
            if($ip == ''){
                return 0;
            }
           
               
            $host_arr = parse_url($redirect_uri);
            if(isset($host_arr['scheme'])){
                $host    =  $host_arr['host'];
            }else{
                $host    =  $host_arr['path'];
            }
            $domains = explode(',', $domains);
            foreach ($domains as $domain) {
     
                $allow_domain = preg_replace("/\\./", "\\\\.", $domain);
                $allow_domain = preg_replace("/\\*/", "[.\\\\w]+", $allow_domain);
               

                if(preg_match("/^".$allow_domain."$/", $host)){
                  // apply filter
                  $validDomain = 1;
                }

            }
           
            $ip = explode(',', $ip);
           
            for($i=0, $cnt=count($ip); $i<$cnt; $i++) {
                $allow_ip = preg_replace("/\\./", "\\\\.", $ip[$i]);
                $allow_ip = preg_replace("/\\*/", "[.\\\\d]+", $allow_ip);
               

                if(preg_match("/^".$allow_ip."$/", $server_ip)){
                  // apply filter
                  $validIP = 1;
                }
              }
           
            if($validDomain && $validIP){
                return true;
            }else{
                return false;
            }

        }

Related posts:

This entry was posted in php. Bookmark the permalink.