首页 > PHP教程 > php开发知识文章

PHP 限制特定IP访问网站

本文主要介绍了PHP 限制特定IP访问网站的方法,介绍了php对客户端IP的获取、解析、遍历、判断等相关编程技巧,如下

getenv函数

获取服务器环境变量信息,等同于$_SERVER

获取客户端ip,参考:http://www.yuqingqi.com/phpjiaocheng/514.html

PHP 限制特定IP访问网站

//获取客户端ip
if (getenv("HTTP_CLIENT_IP")){
$ip = getenv("HTTP_CLIENT_IP");
} else if (getenv("HTTP_X_FORWARDED_FOR")){
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else if (getenv("REMOTE_ADDR")){
$ip = getenv("REMOTE_ADDR");
} else {
$ip = "unknow";
}

//允许访问的ip
$allowIP = array('10.192.39.60');

//ip拆分成数组
$check_ip_arr = explode('.', $ip);
if (!in_array($ip, $allowIP)) {
$bl = false;
foreach ($allowIP as $val) {
if (strpos($val, '*') !== false) {
//*号替代符
$arr = array();
$arr = explode('.', $val);
$bl = true;
//用于记录循环检测中是否有匹配成功的
for ($i = 0; $i < 4; $i++) {
if ($arr[$i] != '*') {
//不等于* 就要进来检测,如果为*符号替代符就不检查
if ($arr[$i] != $check_ip_arr[$i]) {
$bl = false;
break;
//终止检查本个ip 继续检查下一个ip
}
}
}
if ($bl) {
//如果是true则终止匹配
break;
}
}
}

if (!$bl) {
$return = array(
'status' => 2,
'msg' => 'IP无权限访问',
'data' => $ip
);
echo json_encode($return);
exit();
}
}

更多关于PHP相关专题:《PHP网络编程技巧总结》、《php正则表达式用法总结》、《php curl用法总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》及《php常见数据库操作技巧汇总

以上就是本文PHP 限制特定IP访问网站的全部内容,希望本文所述对大家PHP程序设计有所帮助。

 

关闭
感谢您的支持,我会继续努力!
扫码打赏,建议金额1-10元


提醒:打赏金额将直接进入对方账号,无法退款,请您谨慎操作。