php限制ip地址范围的方法

yipeiwu_com5年前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程序设计有所帮助。

相关文章

php实现对象克隆的方法

本文实例讲述了php实现对象克隆的方法。分享给大家供大家参考。具体如下: <?php //定义类staff,其中包括属性id和name class staf...

优化php效率,提高php性能的一些方法

1、在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用 file_get_contents,因为他的效率高得多!但是要注意...

php面向对象中static静态属性与方法的内存位置分析

本文实例分析了php面向对象中static静态属性与方法的内存位置。分享给大家供大家参考。具体如下: static静态属性的内存位置——>类,而不是对象。下面做测试来证明一下...

php urlencode()与urldecode()函数字符编码原理详解

php urlencode()与urldecode()函数字符编码原理详解

其原理就是把中文字符转换为十六进制并按某种规则进行字符串组合,实现字符的编码与解编码,保证URL数据传递过程中字符的完整性和兼容性,主要讨论中文字符的编码情况。 一,FireFox浏览器...

PHP读取目录树的实现方法分析

PHP读取目录树的实现方法分析

本文实例讲述了PHP读取目录树的实现方法。分享给大家供大家参考,具体如下: 前一阵时间面试XX公司笔试题中竟然有这样一道题: 使用PHP列出目录树! 当时一看就懵逼了!基本的思路还是有的...