发布网友 发布时间:2022-04-20 22:58
共2个回答
热心网友 时间:2023-10-03 12:36
先获取用户IP地址.
用:Request.ServerVariables("REMOTE_ADDR")
得到用户ip地址.
然后跟据IP查询IP数据库.
这是一个跟据IP查地址的函数,里面包含连接IP数据,你跟据自己的情况,改一下IP数据库地址就可以用.
Public Function LookAdd(Sip)
Dim Str1,Str2,Str3,Str4
Dim Num
Dim Irs
If IsNumeric(Left(sip,2)) Then
If Sip="127.0.0.1" Then sip="192.168.0.1"
Str1=Left(Sip,InStr(Sip,".")-1)
Sip=Mid(Sip,InStr(Sip,".")+1)
Str2=Left(Sip,InStr(Sip,".")-1)
Sip=Mid(Sip,InStr(Sip,".")+1)
Str3=Left(Sip,InStr(Sip,".")-1)
Str4=Mid(Sip,InStr(Sip,".")+1)
If IsNumeric(Str1)=0 Or isNumeric(Str2)=0 Or isNumeric(Str3)=0 Or isNumeric(Str4)=0 Then
Else
num=CInt(Str1)*256*256*256+CInt(Str2)*256*256+CInt(Str3)*256+CInt(Str4)-1
Dim adb,aConnStr,AConn
adb = "IPDATA/ipaddress.mdb"
aConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(adb)
Set AConn = Server.CreateObject("ADODB.Connection")
aConn.Open aConnStr
sql="select country,city from dv_address where ip1 <="&num&" and ip2 >="&num
Set irs=AConn.Execute(sql)
If irs.eof And irs.bof Then
LookAdd="数据库无记录"
Else
Do While Not irs.eof
LookAdd=LookAdd & Irs(0) & Irs(1)
Irs.MoveNext
Loop
End If
Irs.Close
Set Irs=nothing
Set AConn=Nothing
End If
End If
End Function
热心网友 时间:2023-10-03 12:36
上面是一个函数, LookAdd(sip)
首先这个函数把得到的IP地址信息:即sip参数,通过分析分解,得到ip段,
然后通过查询数据库中的ip,查询到相应的地址 .
使用步骤:
确定你的ip数据库地址,修改函数中下面的部分:
adb = "IPDATA/ipaddress.mdb"
比如你的ip数据库在程序目录下 data目录中,名字为ip.mdb,你可以这样改:
adb = "data/ip.mdb"
这样就可以使用了! 不过补充一下,应该还有其他的函数来配合的,比如显示函数,或绑定函数,你仅提供这一个函数,无法帮你修改完全。