1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

[转帖]判断ip地址后跳转到相应页面的源代码

本帖由 ivershuo2006-06-22 发布。版面名称:源码讨论

  1. ivershuo

    ivershuo New Member

    注册:
    2006-04-02
    帖子:
    66
    赞:
    0
    1、数据库的连接文件一般的程序中都有(conn.asp 文件),我在这里就不写了。

    2、以下代码主要实现 “判断ip地址后跳转到相应页面” 也就是说根据用户的IP判断他所在的地区,转向相应的地区级页面;并不是为了 “禁用某个IP段的用户访问” 而设计的所以没用必要判断 用户是否加了代理等等。


    '以下是数据库部分

    1、建个名为表 IP 的表
    2、在在此表中建 5 个字段。
    ID : 编号 类型 :自动编号
    IP1:相关城市的IP段信息。 类型: 数字 ac需要(双精度)
    IP2:相关城市的IP段信息。 类型: 数字 ac需要(双精度)
    URL:跳转的页面URL 类型:TXT
    city:相关城市 类型:TXT

    列:

    比如北京的IP段是 : 1.1.0.0 -- 1.1.0.255

    ip1: 1*256*256*256+1*256*256+0*256+0 = 16842752

    ip2: 1*256*256*256+1*256*256+0*256+255 = 16843007


    ID IP1 IP2 URL city

    1 16842752 16843007 http://BJ.58.COM 北京

    '以下是程序部分

    代码:
    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 ip1<="&tmp_userip&" and  ip2>="&tmp_userip      
    rs.open sql,conn,1,1
    if rs.eof then
    response.redirect "index.asp"    ’如果没有转到 首页  ,也可以指定页面
    else
    response.redirect rs("url")         ’如果有转到指定页面
    end if
    rs.close
    set rs=nothing 
     
  2. goosun

    goosun New Member

    注册:
    2006-03-31
    帖子:
    172
    赞:
    2
    就这么简单?