Función de restricción de IP
Si tiene buenas sugerencias y algoritmos, ¡contácteme! ! :)
"**********************************************************
"FunctionCheckip (cinput_ip, cbound_ip)
"CreatedByqqdao, [email protected]/11/28
"Nota: Primero, debe andar en bicicleta de acuerdo con el número; luego determinar si contiene"-", si lo existe, realizar el procesamiento dividido y finalmente determinar si está dentro del rango
"Parámetros: cinput_ip, IP para inspección por generación
"Cbound_ip, el formato de rango dado es, IP único y Rango IP, el rango de IP se usa por última vez"-"Segmento, si es"*", debe colocarse en el último dígito
"Agregar": permitir "después de cada rango significa que el inicio de sesión está permitido, y agregar": rechazar "significa que se rechazan el inicio de sesión. Se usan múltiples rangos para"; "Aislarlos
"Por ejemplo, 192.168.1*.*: Permitir; 192.168.1.1: Allow; 192.168.1.1-10: basura"
"Valor de retorno: Verdadero/Falso
"ACTUALIZACIÓN: 2001/12/05 Soportes Permitir, RECHUSE Supports ' *', ¿no quieres estar en lo cierto? Soporte, porque es similar a *
"**********************************************************
functionCheckip (cinput_ip, cbound_ip)
dimcsingle_ip, ctemp_ip, cstart_ip, cend_ip
Checkip = falso
csingle_ip = split (cbound_ip, ";")
fori = 0toUbound (csingle_ip)
ifinstr (csingle_ip (i), "rechazo") <> 0then "solo se niega
ctemp_ip = izquierda (csingle_ip (i), instr (csingle_ip (i), ":")-1)
ifinstr (ctemp_ip, "*") <> 0then "es un amplio rango
cstart_ip = left (ctemp_ip, instr (ctemp_ip, "*")-1)
ifleft (cinput_ip, len (cStart_ip)) = cStart_ipthen
Checkip = falso
extinción
endif
endif
ifinstr (ctemp_ip, "-") = 0then
cstart_ip = ctemp_ip
cend_ip = ctemp_ip
demás
cstart_ip = left (ctemp_ip, instr (ctemp_ip, "-")-1)
cend_ip = izquierda (cstart_ip, instrrev (cStart_ip, ".")-1)+"."+Mid (ctemp_ip, instr (ctemp_ip, "-")+1)
endif
ifip2str (cinput_ip)> = ip2str (cstart_ip) andip2str (cinput_ip) <= ip2str (cend_ip) entonces
Checkip = falso
extinción
endif
elseifinstr (csingle_ip (i), "permitir") <> 0then "Permitir
ctemp_ip = izquierda (csingle_ip (i), instr (csingle_ip (i), ":")-1)
ifinstr (ctemp_ip, "*") <> 0then "es un amplio rango
cstart_ip = left (ctemp_ip, instr (ctemp_ip, "*")-1)
ifleft (cinput_ip, len (cStart_ip)) = cStart_ipthen
Checkip = verdadero
endif
endif
ifinstr (ctemp_ip, "-") = 0then
cstart_ip = ctemp_ip
cend_ip = ctemp_ip
demás
cstart_ip = left (ctemp_ip, instr (ctemp_ip, "-")-1)
cend_ip = izquierda (cstart_ip, instrrev (cStart_ip, ".")-1)+"."+Mid (ctemp_ip, instr (ctemp_ip, "-")+1)
endif
ifip2str (cinput_ip)> = ip2str (cstart_ip) andip2str (cinput_ip) <= ip2str (cend_ip) entonces
Checkip = verdadero