http://tianya.tyblog.com/index.shtml
 
博 客 公 告
登 录 后 台
时 间 记 忆
<<  < 2022 - >  >>
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
最 新 相 片
最 新 日 志
最 新 回 复
留 言 信 息
我 的 好 友

我 的 圈 子

友 情 链 接




博 客 信 息
 
自动识别IP,并跳转到来访问者所在的城市
[ 2007-8-17 14:15:00 | By: 天涯 ]
 
 

自动识别IP,并跳转到来访问者所在的城市
先去下一个最新的纯真IP数据库,然后按如下操作:
1.运行纯真QQIP数据库里带的ShowIP.exe,点解压,输入文件名,比如IP.txt,确定,就得到一个TXT文件。

2.打开ACCESS,工具-自定义,命令选项卡,把导入选项拖动到上面的工具栏。

3.建库,建一个表,四个字段

Startip 类型:文本 (相关城市的IP段信息)
Endip 类型:文本 (相关城市的IP段信息)
Country 类型:文本 (相关城市名称)
ReUrl 类型:文本 (你想要跳转的城市路径如:北京 http://bj.abc.com)

4.点导入按钮,文件类型选文本文件,找到刚才导出的IP.txt文件,导入到刚才建的表里~

运算将真实IP转换为数字,比如北京的IP段是 : 1.1.0.0 -- 1.1.0.255

Startip: 1*256*256*256+1*256*256+0*256+0 = 16842752 (这个数字才是最终要放到数据库里)

Endip: 1*256*256*256+1*256*256+0*256+255 = 16843007 (这个数字才是最终要放到数据库里的)

可用程序批量处理,如果不会,而且没时间(像我一样)你就直接去下个动网的IP库,它是已经处理好了的,下面是程序部分:

user_ip = Request.ServerVariables("REMOTE_ADDR") ''取得访问者IP
userip_ary=split(user_ip,".")
tmp_userip=userip_ary(0)*256*256*256+userip_ary(1)*256*256+userip_ary(2)*256+userip_ary(3) '' 按规定转换IP为数字

 

‘从数据库找出用户IP属于的城市

 

set rs=Server.CreateObject("ADODB.Recordset")
sql="select * from ip where Startip<="&tmp_userip&" and Endip>="&tmp_userip 
rs.open sql,conn,1,1
if rs.eof then
response.redirect "index.asp" ’如果没有该城市或是IP无法识别则转到首页,也可以指定页面
else
response.redirect rs("ReUrl") ’如果有转到指定页面
end if
rs.close
set rs=nothing

将上面的程序放到你的虚拟主机默认访问首页里!或是其它的页面里(当然你同样要在虚拟主机控制面板里设置默认首先访问的是这个文件) OK
 
  • 圈子:博客技术圈 
  • Re:自动识别IP,并跳转到来访问者
    [ 2007-8-17 14:29:00 | By: yanran ]
     
     yanran这么复杂?
     
    Re:自动识别IP,并跳转到来访问者
    [ 2007-8-17 14:32:00 | By: tianya ]
     
     tianya呵呵
    实际要更复杂
     
    Re:自动识别IP,并跳转到来访问者
    [ 2007-8-17 15:16:00 | By: yaiy ]
     
     yaiy偶学不会
     
    Re:自动识别IP,并跳转到来访问者
    [ 2007-8-17 16:09:00 | By: sdfxwwx ]
     
     sdfxwwx俺看着就晕捏……
     
    Re:自动识别IP,并跳转到来访问者
    [ 2007-8-25 19:51:00 | By: cnlove ]
     
     cnlove嘿嘿
    想做什么?
     
    发表评论:
    Powered By 天涯博客(www.tyblog.com) 版权所有
    天涯博客欢迎您!