文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>PHP ASP 限制IP方法

PHP ASP 限制IP方法

时间:2010-04-17  来源:mx11

先说PHP的 :)

原帖:http://www.comszy.com/bbs/showbbs.asp?bd=16&id=535&totable=1

php中限制ip段访问

在应用中用到写下的,如果大家有更好的写法,放出来一同分享!谢谢!!

<?php

$ userip = $ REMOTE_ADDR; //获得用户ip

$ userips = explode(".", $ userip);把获得的ip切开成数组

$ dataip = $ arr[ipt];//数据库中已定起始ip

$ dataips = explode(".", $ dataip);//把数据库中的限定的起始ip切开成数组

$ dataipw = $ arr[ipw];数据库中已定结速ip

$ dataipws = explode(".", $ dataipw);////把数据库中的限定的结束ip切开成数组

//比较ip的每一段

if ($ userips[0] == $ dataips[0] and $ userips[1] == $ dataips[1] and $ userips[2] == $ dataips[2] and $ userips[3] >= $ dataips[3] and $ userips[3] <= $ dataipws[3])

{echo "继续干想干的事!";

}

else

{echo "您的ip不符合,你不能**想干的事!";

exit;

}

?>

在蓝色经典找到的解答 也很不错:

代码如下:

----------------------------

<?php

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<count($ ip_lib);$ i++){

if(ereg($ thenetip,$ ip_lib[$ i])){

$ allow=1;

break;

}

}

if ($ allow==1)

{

echo "验证通过";

}

else {

echo "<script>location.href='Error.php';</script>";

}

?>

--------------------------

代码结束!

说明:

待自己建立test.ini文件

在这个文件里输入允许访问的IP段

如:

110.110.110

111.111.111

112.112.112

192.168.1

192.168.0

... ...

等等 

只需要输入前三位就行了

地址:http://www.blueidea.com/bbs/NewsDetail.asp?id=2364567

ASP的:

原地址:http://www.emagister.cn/cursos-asp%E9%99%90%E5%88%B6ip%E8%AE%BF%E9%97%AE-simcour-2194415.htm

<%

''获取访问者的地址

ip=Request.ServerVariables("REMOTE_ADDR")

''允许的IP地址段为10.0.0.0~10.68.63.255

allowip1="10.0.0.0"

allowip2="10.68.10.71"

response.write checkip(ip,allowip1,allowip2)

function checkip(ip,allowip1,allowip2)

dim check(4)

checkip=false

ipstr=split(ip,".")

allow1=split(allowip1,".")

allow2=split(allowip2,".")

if cint(allow1(0))>cint(allow2(0)) then ''判断IP地址段是否合法

response.write "禁止访问"

exit function

end if

for i=0 to ubound(ipstr)

if cint(allow1(i))<cint(allow2(i)) then

if cint(allow1(i))=cint(ipstr(i)) then

check(i)=true

checkip=true

exit for

else

if cint(ipstr(i))<cint(allow2(i)) then

check(i)=true

checkip=true

exit for

else

if cint(ipstr(i))>cint(allow2(i)) then

check(i)=false

checkip=false

exit for

else

check(i)=true

checkip=true

end if

end if

end if

else

if cint(allow1(i))>cint(ipstr(i)) or cint(allow1(i))<cint(ipstr(i)) then

check(i)=false

checkip=false

if i<>ubound(ipstr) then

exit for

end if

else

check(i)=true

end if

end if

next

if (check(0)=true and check(1)=true and check(2)=true and check(3)=false) and (cint(allow2(2))>cint(ipstr(2))) then

checkip=true

end if

end function

%>

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载