<% ip="10.192.31.1" 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 Response.Write cacuIp(IP) %> 本人是个菜鸟,青高手回复详细的解释,谢谢!!!
关于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到其他程序内被使用。