| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1891 人关注过本帖
标题:通过IP获取具体地址源代码(08AccessIP数据库)
取消只看楼主 加入收藏
天涯听雨
Rank: 2
来 自:东莞
等 级:论坛游民
威 望:4
帖 子:497
专家分:64
注 册:2007-8-25
结帖率:100%
收藏
 问题点数:0 回复次数:1 
通过IP获取具体地址源代码(08AccessIP数据库)
在制作评论时想实现用户来自于哪,那么这里一定得用到通过Ip来进行判断。自己在把程序写好后也共享给大家使用使用

下面的使用代码中,在连接数据进行查库时有很大的改进的,这里我就没有写出改进后的程序,留给大家发挥吧。

也只共享出Access版,Mssql存储过程版暂时保留不共享(抱歉)

下面是使用代码:

<%
if Request.ServerVariables("HTTP_X_FORWARDED_FOR")="" then
   UserIp=Request.ServerVariables("REMOTE_ADDR")
else
   UserIp=Request.ServerVariables("HTTP_X_FORWARDED_FOR")
end if


function Get_IPAddress(Ip)
    Dim IpStr1,IpStr2,IpStr3,IpStr4
        If Ubound(Split(Ip,"."))=3 Then
           If Ip="127.0.0.1" Then Ip="192.168.0.1"
           
           IpSplit=Split(Ip,".")
           IpStr1 =IpSplit(0)
           IpStr2 =IpSplit(1)
           IpStr3 =IpSplit(2)
           IpStr4 =IpSplit(3)
           
           if IpStr1>255 or IpStr2>255 or IpStr3>255 and IpStr4>255 then
               Get_IPAddress=""&IpStr1&"."&IpStr2&"."&IpStr3&".*"
               Exit Function
           end if

           IpNum=Cint(IpStr1)*256*256*256+Cint(IpStr2)*256*256+Cint(IpStr3)*256+Cint(IpStr4)-1
           
           Dim IpdbUrl,IpConnStr,IpConn,IpSqlStr
           
           IpdbUrl = "Acc_AddressIp.mdb"      '解压后的数据库(可以自行更改名或路径)
        
           IpConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(IpdbUrl)
           
           Set IpConn = Server.CreateObject("ADODB.Connection")
           IpConn.Open IpConnStr
           
           Set RsIp=IpConn.exeCute("Select top 1 Country,City from IpAddress where StartIp>="&IpNum&" and EndIp>="&IpNum&"")
               
           If RsIp.eof And RsIp.bof Then
              Get_IPAddress=""&IpStr1&"."&IpStr2&"."&IpStr3&".*"
           else
              '如果只想到城市取如下
               Get_IPAddress=RsIp("Country")
                     
               '如果是取至详细,用下面代码,则需屏蔽上面
               'Get_IPAddress=""&RsIp("Country")&" "&RsIp("City")
           end if
           
           Set RsIp=nothing
           IpConn.Close
           Set IpConn=nothing
    else
           Get_IPAddress=""
    end if
End Function

'调用结果放到你希望的位置即可
Response.Write"欢迎来自"&Get_IPAddress(UserIp)&"的朋友"   
%>

08AccessIP数据库地址:http://www.
所收录的IP地址,我已经通纯真IP数据库升级到最新的(当天)

[[it] 本帖最后由 天涯听雨 于 2008-6-27 18:20 编辑 [/it]]
搜索更多相关主题的帖子: 源代码 数据库 
2008-06-27 18:09
天涯听雨
Rank: 2
来 自:东莞
等 级:论坛游民
威 望:4
帖 子:497
专家分:64
注 册:2007-8-25
收藏
得分:0 
http://www.

其实这原理过程还是要进行执行查库读取,可以说只是表现方法不同,利用Ajax异步读取。


方法值得一学习!

[[it] 本帖最后由 天涯听雨 于 2008-6-27 23:37 编辑 [/it]]

从明天起做幸福的人,喂马劈柴周游世界!
2008-06-27 23:34
快速回复:通过IP获取具体地址源代码(08AccessIP数据库)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016525 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved