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)
            &

时间: 2025-01-02 04:46:33

ip范围限制函数的相关文章

1.socket编程:socket编程,网络字节序,函数介绍,IP地址转换函数,sockaddr数据结构,网络套接字函数,socket相关函数,TCP server和client

 1  Socket编程 socket这个词可以表示很多概念: 在TCP/IP协议中,"IP地址+TCP或UDP端口号"唯一标识网络通讯中的一个进程,"IP 地址+端口号"就称为socket. 在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的socket pair就唯一标识一个连接.socket本身有"插座"的意思,因此用来描述网络连 接的一对一关系. TCP/IP协议最早在BSD UNIX上实现,

PHP自带方法验证邮箱、URL、IP是否合法的函数_php技巧

以前用PHP验证邮箱.URL.IP是否合法都是通过自己写正则来实现,但是有时候脑子发昏,可能会写出一个不是完全正确的正则,导致验证出错,今天发现原来PHP本身自带了验证邮箱.URL.IP是否合法的函数. 主要使用的是filter_var函数. 语法 filter_var(variable, filter, options) 参数 描述 variable 必需.规定要过滤的变量. filter 可选.规定要使用的过滤器的 ID. options 规定包含标志/选项的数组.检查每个过滤器可能的标志和

js ip地址验证函数

js ip地址验证函数 //验证ip(首尾不能为0,各数字不能大于255) function c_ip(v){     //    var reg = /^(25[0-5]|2[0-4]d|1d{2}|[1-9]d|[1-9])(.(25[0-5]|2[0-4]d|1d{2}|[1-9]?d)){2}.(25[0-5]|2[0-4]d|1d{2}|[1-9]d|[1-9])$/;     var reg = /^(25[0-5]|2[0-4]d|1d{2}|[1-9]d|[1-9])(.(25[

正则式检测IP是否合法的函数

函数|检测ip|正则|正则式 function checkIP2(sIPAddress){var exp=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;var reg = sIPAddress.match(exp);var ErrMsg="你输入的是一个非法的IP地址

一个得到IP地址的函数

ip地址|函数 <? function getip() {    if(getenv('HTTP_CLIENT_IP'))    {     $onlineip = getenv('HTTP_CLIENT_IP');    }    elseif(getenv('REMOTE_ADDR'))    {     $onlineip = getenv('REMOTE_ADDR');    }    else    {     $onlineip = $_SERVER['REMOTE_ADDR'];

全正则的检测IP是不是合法的函数

函数|检测ip|正则 function checkIP2(sIPAddress){ var exp=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/; var reg = sIPAddress.match(exp); var ErrMsg="你输入的是一个非法的IP地址段

POJ 2105 IP Address (strtoll函数)

Time Limit: 1000MS Memory Limit: 30000K Description Suppose you are reading byte streams from any device, representing IP addresses. Your task is to convert a 32 characters long sequence of '1s' and '0s' (bits) to a dotted decimal format. A dotted de

PHP跨平台获取服务器IP地址自定义函数分享_php技巧

近期需要完善一个log机制,监控来自不同服务器的机器的脚本执行状况,特针对windows和Linux及web与命令行模式书写了一个函数来兼容. 写了如下一个function来,可以实现上面的需求: 复制代码 代码如下: function getServerAddr() {       //运行 web app       if (isset($_SERVER["SERVER_ADDR"])) {           return $_SERVER["SERVER_ADDR&q

asp验证Ip格式的函数_应用技巧

验证Ip格式<% '****************************** '函数:CheckIp(paR_strIp) '参数:str 要检测的字符串 '作者:阿里西西 '日期:2007/7/13 '描述:验证Ip格式,是返回1,否则返回0 '示例:<%=CheckIp("219.45.23.11")%> '****************************** Function CheckIp(paR_strIp)    CheckIp =0    D