把以下代码加入到ASP页面就可以测试到效果了:
<%
'受屏蔽IP地址(段)集合,星号为通配符,通常保存于配置文件中。
Const BadIPGroup = "192.168.1.*|202.68.*.*|*.12.55.34|185.*.96.24|127.*.0.1|192.168.0.1"
If IsForbidIP(BadIPGroup) = True Then
Response.Write(GetIP &"IP地址禁止访问")
Response.End()
End If
'参数vBadIP:要屏蔽的IP段,IP地址集合,用|符号分隔多个IP地址(段) ;
'返回Bool:True用户IP在被屏蔽范围,False 反之 ;
Function IsForbidIP(vBadIP)
Dim counter, arrIPPart, arrBadIP, arrBadIPPart, i, j
arrBadIP = Split(vBadIP, "|")
arrIPPart = Split(GetIP(), ".")
For i = 0 To UBound(arrBadIP)
counter = 0
arrBadIPPart = Split(arrBadIP(i), ".")
For j = 0 To UBound(arrIPPart)
If(arrBadIPPart(j)) = "*" or Cstr(arrIPPart(j)) = Cstr(arrBadIPPart(j)) Then
counter = counter + 1
End If
Next
If counter = 4 Then
IsForbidIP = True
Exit Function
End If
Next
IsForbidIP = False
End Function
''返回客户IP地址
Function GetIP()
Dim IP
IP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If IP = "" Then IP = Request.ServerVariables("REMOTE_ADDR")
GetIP = IP
End Function
%>
这样就可以限制网站访问的IP段了,可以根据地区的IP段来设置。
用这个方法,防止外地用户使用流氓软件恶意发布信息。
禁止中国国内IP访问网站的方法有很多,这里分享几个常用且有效的方法:1. 利用.htaccess文件屏蔽中国IP
禁止一个ip段
deny from 218.2.135.0/255
同时设置一下允许自己的IP可访问
中国IP段地址大全
2. 利用JS判断语句代码加载到网站footer或者header
<script type="text/javascript">( J( a9 p, Z# s7 U( y% F
if (navigator.language)
* n! a! ?0 p: s1 f* E2 ~var language = navigator.language$ f+ Q( r, z~, O' R
else' E. X$ ?8 N3 A- RA
var language = navigator.browserLanguage
8 \* f( v8 E. [9 z5 D# Rif(language.indexOf('zh') >-1)document.location.href ='404.html'
- K `Y5 ^! ?0 h9 V4 q# }) Z</script>
3. 利用被屏蔽的DNS来解析域名
如GODADDY的部分DNS被国内屏蔽,可以使用这些DNS为域名做解析
4. 当然也可通过屏蔽中文操作系统来禁止国内IP访问,代码如下:(这个比较狠,慎用)
$client_sys_language = $_SERVER["HTTP_ACCEPT_LANGUAGE"]// system language
if (preg_match (“/^zh-cn/i”,$client_sys_language)) {
echo ”
Forbidden
You don’t have permission to access /on this server.Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
365.dg01.com Port 80
“
exit
}
带提示<%
if Request.ServerVariables("REMOTE_ADDR")="113.97.238.13" then
Response.Write "您的IP已被禁止,无权访问本站!"
end if
%>
不带提示
<%
if Request.ServerVariables("REMOTE_ADDR")="113.97.238.13" then
Response.Write""
end if
%>
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)