• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ASP中实现限制IP的函数详解
    '******************************
    'Function CheckIp(cInput_Ip,cBound_Ip)
    'Created by qqdao, qqdao@263.net 2001/11/28
    '说明:首先需要根据;号循环,然后判断是否含有"-",如果有则进行拆分处理,最后判断是否在范围内
    '参数: cInput_Ip,代检查的ip
    'cBound_Ip,给定的范围格式为,单个ip,和范围ip,范围ip最后使用”-“分割,如果是“*”则必须放到最后一位
    '每个范围后添加":ALLOW"表示允许登陆,添加":REFUSE"表示拒绝登陆。多个范围用”;“隔开
    '例如192.168.1*.*:ALLOW;192.168.1.1:ALLOW;192.168.1.1-10:REFUSE"
    '返回值: true/false
    '更新:2001/12/05 支持ALLOW,REFUSE支持'*‘,不想对?支持,因为和*差不多
    '******************************
    function CheckIp(cInput_Ip,cBound_Ip)
    dim cSingle_Ip,cTemp_IP,cStart_IP,cEnd_Ip
    CheckIp = false
    cSingle_Ip=split(cBound_Ip,";")

    for i=0 to ubound(cSingle_Ip)
    if Instr(cSingle_Ip(i),"REFUSE") > 0 then “就是拒绝了
    cTemp_IP = left(cSingle_Ip(i),instr(cSingle_Ip(i),":")-1)

    if Instr(cTemp_IP,"*") > 0 then “是宽范围
    cStart_IP = left(cTemp_IP,instr(cTemp_IP,"*")-1)
    if left(cInput_Ip,len(cStart_IP))=cStart_IP then
    CheckIp = false
    exit function
    end if
    end if

    if Instr(cTemp_IP,"-") = 0 then
    cStart_IP = cTemp_IP
    cEnd_Ip = cTemp_IP
    else
    cStart_IP = left(cTemp_IP,instr(cTemp_IP,"-")-1)
    cEnd_Ip = left(cStart_IP,InStrRev(cStart_IP,".")-1)+"."+mid(cTemp_IP,instr(cTemp_IP,"-")+1)
    end if

    if Ip2Str(cInput_Ip)>=Ip2Str(cStart_IP) and Ip2Str(cInput_Ip)=Ip2Str(cEnd_Ip) then
    CheckIp = false
    exit function
    end if

    elseif Instr(cSingle_Ip(i),"ALLOW") > 0 then “允许

    cTemp_IP = left(cSingle_Ip(i),instr(cSingle_Ip(i),":")-1)

    if Instr(cTemp_IP,"*") > 0 then “是宽范围
    cStart_IP = left(cTemp_IP,instr(cTemp_IP,"*")-1)
    if left(cInput_Ip,len(cStart_IP))=cStart_IP then
    CheckIp = true
    end if
    end if

    if Instr(cTemp_IP,"-") = 0 then
    cStart_IP = cTemp_IP
    cEnd_Ip = cTemp_IP
    else
    cStart_IP = left(cTemp_IP,instr(cTemp_IP,"-")-1)
    cEnd_Ip = left(cStart_IP,InStrRev(cStart_IP,".")-1)+"."+mid(cTemp_IP,instr(cTemp_IP,"-")+1)
    end if

    if Ip2Str(cInput_Ip)>=Ip2Str(cStart_IP) and Ip2Str(cInput_Ip)=Ip2Str(cEnd_Ip) then
    CheckIp =true
    else
    CheckIp =false
    end if
    end if
    next

    end function
    '******************************
    'Function Ip2Str(cIp)
    'Created by qqdao, qqdao@263.net 2001/11/28
    '参考动网ip算法
    '参数:cIp ip地址
    '返回值: 转换后数值
    '******************************
    function Ip2Str(cIp)
    Dim str1,str2,str3,str4
    Dim cIp_Temp
    if cIp="127.0.0.1" then cIp="192.168.0.1"
    str1=left(cIp,instr(cIp,".")-1)
    cIp_Temp=mid(cIp,instr(cIp,".")+1)
    str2=left(cIp_Temp,instr(cIp_Temp,".")-1)
    cIp_Temp=mid(cIp_Temp,instr(cIp_Temp,".")+1)
    str3=left(cIp_Temp,instr(cIp_Temp,".")-1)
    str4=mid(cIp_Temp,instr(cIp_Temp,".")+1)

    if isNumeric(str1)=0 or isNumeric(str2)=0 or isNumeric(str3)=0 or isNumeric(str4)=0 then

    else
    Ip2Str=cint(str1)*256*256*256+cint(str2)*256*256+cint(str3)*256+cint(str4)-1
    end if

    end function 
    上一篇:为什么ASP中执行动态SQL总报错误信息?提示语句语法错误
    下一篇:Asp下实现限制IP访问的程序代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    ASP中实现限制IP的函数详解 ASP,中,实现,限制,的,函数,