做本地分类信息网站的朋友一般都会遇上外地用户发布大量的虚假甚至诈骗信息,仅仅凭人工去判断不仅费时费力,而且人工判断有时也不能完全判别信息的虚假,这时站长有必要为自己的本地网站加上屏蔽外地IP的功能。飘易这里就贴出ASP版本的屏蔽/允许外地IP的函数代码:
<%
dim ip1
'==========需要屏蔽的IP段,多个以|分割
'==========可以自行添加IP或IP段,如123.12.11.*屏蔽的范围是123.12.11.1-123.12.11.255
ip1="123.12.11.*|112.23.*.*|120.177.237.160"
''===========下面的函数请不要修改========
''获取IP函数Start
function ipw()
dim ipw1
ipw1=Request.ServerVariables("REMOTE_ADDR")
if Request.ServerVariables("HTTP_X_FORWARDED_FOR")<>"" then
ipw1=Request.ServerVariables("HTTP_X_FORWARDED_FOR")
end if
ipw=ipw1
end function
''获取IP函数End
function ipwint(n) '取IP4地址的前几段
dim ipw2,ipw3
if n>4 then n=4
ipw2=split(ipw(),".")
ipw3=""
for i=0 to n-1
ipw3=ipw3&ipw2(i)
next
ipwint=ipw3
end function
'取ip的前2、3、4位
dim ipu2,ipu3,ipu4
ipu2=ipwint(2)
ipu3=ipwint(3)
ipu4=ipwint(4)
dim ip11,ip12,ip13,x,noip
noip=0
ip11=split(ip1,"|")
for i=lbound(ip11) to ubound(ip11) '外循环
ip12=split(ip11(i),".")
ip13=""
x=0
for p=0 to ubound(ip12) '具体的iP
if ip12(p)<>"*" then
ip13=ip13&ip12(p) '中间变量
x=x+1
else
exit for
end if
next
'判断取几位
Select Case x
case 2
if instr(ip13,ipu2)>0 then
noip=1
exit for
end if
case 3
if instr(ip13,ipu3)>0 then
noip=1
exit for
end if
case 4
if instr(ip13,ipu4)>0 then
noip=1
exit for
end if
End Select
next
if noip=1 then
response.write "<br><br><center><h3>非常抱歉,飘易系统检测您的IP段属于被限制范围。<br><br><a href=http://www.piaoyi.org>返回</a>.</h3></center> "
response.end
end if
%>