PHP只允许指定的IP访问(允许*号通配符来过滤IP)
核心功能代码如下所示:*检测访问IP是否为指定的允许IP。
*在这里输入说明…
* /
功能check_ip(){
allowed_ip美元=阵列('192.168.2。*,'127.0.0.1 ','192.168.2.49);
IP = getip(美元);
check_ip_arr美元=爆炸('。',为IP); / / IP分成数组检测
#限制IP
如果(!in_array($ IP,allowed_ip美元)){
foreach($ allowed_ip达Val){
如果(strpos($ Val,= =假*)!){找到一个替换字符
($ ARR = array); / /
$ ARR =爆炸(,$ Val);
$ = TRUE;用于记录循环检测是否匹配成功
($ i = 0;$ i < 4;$ + +){
如果美元美元(ARR {我}!=*并不意味着要进行**检测,如果不检查符号符号替换
如果美元美元(ARR {我}!= $ check_ip_arr { $我}){
$ = false;
中断;IP终止检查来检查下一个IP
}
}
}用于
如果($ BL){ TRUE如果TRUE返回返回匹配成功
返回;
死;
}
}
} / /结束foreach
头('http / 1.1没有权限访问此网站);
禁止访问;
死;
}
}
*访问IP
*在这里输入说明…
* /
功能getip(){
返回isset($ _server {http_x_forwarded_for})$ _server {http_x_forwarded_for}
(isset($ _server {http_client_ip ))_server美元{http_client_ip}
_server美元{remote_addr );
}
check_ip()添加到你需要的地方被发现;这个功能只提供了一个指定的IP访问文件,并提供了一个IP一个*号通配符来匹配多个IP