最近写了一个小程序,遇到要判断是否是国内IP,国内的自动跳到中文版,国外的自动跳到英文版。
搜索了很多资料写的都不是很理想。而且很多IP库,是可以查出具体地区的。而且也没有国内外之分。
好不容易找的有介绍国内的IP段,但没有现成的IP库。
没有办法,只好自己从txt文本里导到数据库。
我现在就把简单的判断代码及SQL Server的Ip库共享给大家,希望大家以后不用那么麻烦了!
<%
'Bijia 编写
'Blog:http://bijia.anyflex.cn/
'判断国内IP地址
Dim DBC,Conn
Set DBC = New DataBaseClass
Set Conn = DBC.OpenConnection()
Set DBC = Nothing
dim Rs,Sql
dim Ip,ip1,ipitem1
ip1=Request.ServerVariables("REMOTE_ADDR")
ipitem1=split(ip1,".")
Ip=ipitem1(0)*256*256*256+ipitem1(1)*256*256+ipitem1(2)*256+ipitem1(3) '将Ip换为256进制
Set Rs = Server.CreateObject(G_FS_RS)
Sql="Select * from ChinaIP where IpMin<" &Ip &" and IpMax>" &Ip
Rs.open Sql,conn,1,3
if Rs.EOF then
response.redirect("index_en.html") '国外地址
else
response.redirect("index_cn.html") '国内地址
end if
%>