在需要禁止访问或提交表单的页面添加下面的代码进行判断就可以了。
注意:下边只是一个PHP限制IP的实例代码,如果您打算应用到CMS中,请自行修改。
<?php
/加IP访问限制
if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
$userip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
$userip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
$userip = getenv('REMOTE_ADDR');
} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
$userip = $_SERVER['REMOTE_ADDR'];
}
//限制ip
if ($userip=='192.168.1.88'){
header("location:http://t.qq.com/wb631992791");//被禁止后跳转到微博
exit;
}
//限制ip段
$ip_arr = explode('.', $userip);
#限制的ip段,假设是192.168.*.*
if (!(($ip_arr[0] == '192' && $ip_arr[1]=='168') )){
header("location:http://t.qq.com/wb631992791");//被禁止后跳转到微博
exit;
}else{
header("location:http://afish.cnblogs.com");//正常IP则直接访问小鱼阁首页
exit;
}
?>
$userip = $_SERVER['REMOTE_ADDR']; //获得用户ip
$userips = explode(".", $userip);//把获得的ip切开成数组
if(($userips[0]=195)&&($userips[1]=163)&&($userips[2]=072)&&($userips[3]=000)){
echo "您的ip不符!";
exit;
}else{
echo "通过验证!";
}
?>
我的思路就是这样的
获得用户的IP 用"."分割成数组
再将 限制IP断 分别用"."分割成数组
然后判断用户IP是否在这个IP断内(分别判断四个元素是否在这个范围里)
……
下面是蓝色理想里找到的一个供你参考
——————————————————
class IP{ //获取客户IP地址
function getIpAdr(&$ ip){
$ ip1=getenv("HTTP_X_FORWARDED_FOR");
$ ip2=getenv("HTTP_CLIENT_IP");
$ ip3=getenv("REMOTE_ADDR");
if($ ip1&&$ ip1!='unknow')
$ ip=$ ip1;
else if($ ip2&&$ ip2!='unknow')
$ ip=$ ip2;
else if($ ip3&&$ ip3!='unknow')
$ ip=$ ip3;
else
$ ip='127.0.0.1';
}
}
function get_netip($ myip){ //只留客户IP地址的前三位
$ temp=explode(".",$ myip);
$ netip.=$ temp[0];
$ netip.=".";
$ netip.=$ temp[1];
$ netip.=".";
$ netip.=$ temp[2];
return $ netip;
}
$ filename="test.ini"; //定义操作文件
$ ip_lib=file($ filename); //读取文件数据到数组中
$ allow=0;
$ IP=new IP;
$ thisip="";
$ IP->getIpAdr(&$ thisip);
$ thenetip=get_netip($ thisip);
for($ i=0;$ i
$ allow=1;
break;
}
}
if ($ allow==1......余下全文>>
if (in_array($ip, $blacklist)){ //阻止黑名单中的IP访问
header('HTTP/1.0 403 Forbidden');
echo "禁止访问";
exit;
}
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号