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

大哥们,能告诉我这段代码的意思吗?

本帖由 qh_wht2006-07-08 发布。版面名称:源码讨论

  1. qh_wht

    qh_wht New Member

    注册:
    2006-07-08
    帖子:
    3
    赞:
    0
    <%
    ip="10.192.31.1"
    Function cacuIp(ip)
    On Error Resume Next
    Dim srIp, aIp
    srIp=0
    aIp = Split(ip,".")
    If UBound(aIP)<>3 Then
    cacuIP=0
    Exit Function
    End If
    For i=0 To 3
    srIp=srIp+(CInt(aIP(i))*(256^(3-i)))
    Next
    cacuIp=srIp-1
    If Err Then cacuIp=0
    End Function

    Response.Write cacuIp(IP)
    %>
    本人是个菜鸟,青高手回复详细的解释,谢谢!!!
     
  2. 弋翔网络1

    弋翔网络1 New Member

    注册:
    2006-07-07
    帖子:
    365
    赞:
    0
    帮顶了。。。
     
  3. 小白

    小白 New Member

    注册:
    2005-09-25
    帖子:
    1,604
    赞:
    9
    关于IP的自动判断吧?
    以前好象看到过~~

    下面是一个限制用的程序,限制允许的地区访问,不允许使用代理服务器访问:


    <%
    IP = Request.ServerVariables("REMOTE_ADDR")
    Function cacuIp(ip)
    On Error Resume Next
    Dim srIp, aIp
    srIp=0
    aIp = Split(ip,".")
    If UBound(aIP)<>3 Then
    cacuIP=0
    Exit Function
    End If
    For i=0 To 3
    srIp=srIp+(CInt(aIP(i))*(256^(3-i)))
    Next
    cacuIp=srIp-1
    If Err Then cacuIp=0
    End Function
    Set CONN=Server.CreateObject("ADODB.Connection")
    CONN.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("ip.mdb")
    iIp=cacuIp(IP)
    SQL = "SELECT country,city FROM IP_SoftYes WHERE ip1<=" & iIp & " AND ip2>=" & iIp
    Set rs = CONN.Execute ( SQL )
    If rs.Eof Then
    sPlace="查无记录"
    Else
    sPlace=rs(0)&" "&rs(1)
    End If
    Set rs=Nothing
    If not((InStr(sPlace,"北京")<>0) or (InStr(sPlace,"上海")<>0)) Then
    Response.Write "错误的物理地址,你将不能访问。"
    Response.End
    End If
    Set CONN=Nothing
    If Request.ServerVariables("HTTP_X_FORWARDED_FOR")<>"" Then
    Response.Write "本页不允许使用代理服务器访问。"
    Response.End
    End If
    %>

    另外需要一个IP数据库在同目录下支持。这个程序可以直接被include到其他程序内被使用。
     
  4. qh_wht

    qh_wht New Member

    注册:
    2006-07-08
    帖子:
    3
    赞:
    0
    谢谢楼上帮顶和发贴的兄弟,不过小弟还是不明白代码的意思呀,高手请指点

    呵呵