1.获取真正ip地址
function get_ip(){//判断服务器是否允许$_SERVERif(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|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{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;}