• 网站首页
  • 涉税提问
  • 财税法规
  • 税收筹划
  • 优惠政策
  • 案例解析
  • 培训中心
  • 财富工具
  • 房产专题
  • 会计范文
中财税帮助

去向导航

  • 常见问题
  • 费用核算
  • 负债核算
  • 会计报表
  • 利润核算
  • 收入核算
  • 外汇核算
  • 资本核算
  • 资产核算
  • 更多...

常用分类

  • 浏览器
  • Windows
  • 音乐/电影
  • 网站开发
  • 游戏
  • 办公自动化

中财税帮助系统

2008-10-7

欢迎您登陆并使用中国财税咨询中心为您免费提供的资料,交流,学习为一体的平台!

如果您在使用中遇到什么问题,请您不要吝啬,一定要写信给我们!!

Email:Shellapi@126.com 期待您的来信,或指导批语!

帮助内难免有收集的资料,如果侵犯了您的仅力,请您来信告知,我们马上删除或更新处理!

文章搜索--请输入关键词:

ip限制函数

更多2008-10-7 日更新内容!
    大家如果还有好的建议算法,就联系我!!:)



    '******************************

    '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




Site designed by 中国财税咨询中心