php限制ip地址范围的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了php限制ip地址范围的方法。分享给大家供大家参考。具体如下:

只有在限定范围内的ip地址才能访问

function get_real_ipaddress() {
 if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
  return $_SERVER['HTTP_CLIENT_IP'];
 } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  return $_SERVER['HTTP_X_FORWARDED_FOR'];
 }
 return $_SERVER['REMOTE_ADDR'];
}
function in_ip_range($ip, $ip_one, $ip_two = false) {
 if(!$ip_two) {
  return $ip_one === $ip;
 }
 return ip2long($ip_one) * -1 >= ip2long($ip) * -1 && ip2long($ip_two) * -1 <= ip2long($ip) * -1;
}
function validate_ip() {
 $ip = explode(':', get_real_ipaddress());
 $ip = $ip[0];
 if(in_ip_range($ip, '212.76.229.115', '212.76.229.120')) {
  return true;
 } else if(in_ip_range($ip, '194.78.4.66', '194.78.4.79')) {
  return true;
 } else if(in_ip_range($ip, '194.8.4.78', '194.8.4.78')) {
  return true;
 } else if(in_ip_range($ip, '0', '1')) { // local
  return true;
 }
 header('Location: //www.jb51.net');
}

希望本文所述对大家的php程序设计有所帮助。

相关文章

比file_get_contents稳定的curl_get_contents分享

分享一个实际在用的函数: 复制代码 代码如下: /*比file_get_contents稳定的多!$timeout为超时时间,单位是秒,默认为1s。*/ function curl_ge...

jQuery+PHP实现的掷色子抽奖游戏实例

jQuery+PHP实现的掷色子抽奖游戏实例

本文实例讲述了jQuery+PHP实现的掷色子抽奖游戏详细步骤。分享给大家供大家参考。具体分析如下: 该游戏是以大富翁游戏为背景,综合运用jQuery和PHP知识,设计出以掷色子点数来达...

php字符比较函数similar_text、strnatcmp与strcasecmp用法分析

本文实例讲述了php字符比较函数similar_text、strnatcmp与strcasecmp用法。分享给大家供大家参考。具体如下: ① similar_text() 函数计算两个字...

php把数组值转换成键的方法

本文实例讲述了php把数组值转换成键的方法。分享给大家供大家参考。具体如下: function values2keys($arr, $value=1){ $new = array...

php UTF8 文件的签名问题

也就是 有BOM 格式编码,或者 无BOM格式编码。 如果看文件的内容,是看不出任何差别的,以下列文件(schema.sqlite.sql)内容为例: schema.sqlite.sql...