关于IP的自动判断吧?
以前好象看到过~~
下面是一个限制用的程序,限制允许的地区访问,不允许使用代理服务器访问:
<%
IP = Request.ServerVariables("REMOTE_ADDR")
Function cacuIp(ip)
On Error Resume Next
Dim srIp, aIp
srIp=0
aIp = Split(ip,".")
If UBound(aIP)<>3 Then
cacuIP=0
Exit Function
End If
For i=0 To 3
srIp=srIp+(CInt(aIP(i))*(256^(3-i)))
Next
cacuIp=srIp-1
If Err Then cacuIp=0
End Function
Set CONN=Server.CreateObject("ADODB.Connection")
CONN.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("ip.mdb")
iIp=cacuIp(IP)
SQL = "SELECT country,city FROM IP_SoftYes WHERE ip1<=" & iIp & " AND ip2>=" & iIp
Set rs = CONN.Execute ( SQL )
If rs.Eof Then
sPlace="查无记录"
Else
sPlace=rs(0)&" "&rs(1)
End If
Set rs=Nothing
If not((InStr(sPlace,"北京")<>0) or (InStr(sPlace,"上海")<>0)) Then
Response.Write "错误的物理地址,你将不能访问。"
Response.End
End If
Set CONN=Nothing
If Request.ServerVariables("HTTP_X_FORWARDED_FOR")<>"" Then
Response.Write "本页不允许使用代理服务器访问。"
Response.End
End If
%>
另外需要一个IP数据库在同目录下支持。这个程序可以直接被include到其他程序内被使用。
|