Função de restrição de IP
Se você tiver boas sugestões e algoritmos, entre em contato comigo! ! :)
“***********************************************************
"FunctionCheckip (Cinput_IP, cbound_ip)
“CriadoByQQDAO, [email protected]/11/28
"Nota: primeiro, você precisa pedalar de acordo com o número; então determine se ele contém"-", se houver, execute processamento dividido e, finalmente, determine se está dentro do intervalo
"Parâmetros: Cinput_ip, IP para inspeção por geração
"CBOUND_IP, o formato de intervalo fornecido é, IP único e IP da faixa, o IP da faixa é usado pela última vez"-"segmento, se for"*", ele deve ser colocado no último dígito
"Adicionar": permitir "após cada intervalo significa que o login é permitido e adicionando": lixo "significa que o login é recusado. Vários intervalos são usados para"; "isole -os
"Por exemplo, 192.168.1*.*: Permitir; 192.168.1.1:arlow; 192.168.1.1-10: Recuse"
"Valor de retorno: true/false
"ATUALIZAÇÃO: 2001/12/05 Suportes Permitir, suporta ' *', não quero estar certo? Suporte, porque é semelhante a *
“***********************************************************
FunctionCheckip (Cinput_IP, cbound_ip)
Dimcsingle_ip, ctemp_ip, cstart_ip, cend_ip
Checkip = false
csingle_ip = split (cbound_ip, ";")
fori = 0Toubound (csingle_ip)
ifinstr (csingle_ip (i), "recusar") <> 0hen "apenas se recusa
ctemp_ip = esquerda (csingle_ip (i), instrum (csingle_ip (i), ":")-1)
ifinstr (ctemp_ip, "*") <> 0Then "é uma ampla gama
cstart_ip = esquerda (ctemp_ip, instrum (ctemp_ip, "*")-1)
ifleft (cinput_ip, len (cstart_ip)) = cstart_ipthen
Checkip = false
saída de saída
endif
endif
ifinstr (ctemp_ip, "-") = 0hen
cstart_ip = ctemp_ip
cend_ip = ctemp_ip
outro
cstart_ip = esquerda (ctemp_ip, instrum (ctemp_ip, "-")-1)
cend_ip = esquerda (cstart_ip, Instrrev (cstart_ip, ".")-1)+"."+mid (ctemp_ip, instrum (ctemp_ip, "-")+1)
endif
ifip2str (cinput_ip)> = ip2str (cstart_ip) andip2str (cinput_ip) <= ip2str (cend_ip) então
Checkip = false
saída de saída
endif
elseifinstr (csingle_ip (i), "permitir") <> 0hen "permitir
ctemp_ip = esquerda (csingle_ip (i), instrum (csingle_ip (i), ":")-1)
ifinstr (ctemp_ip, "*") <> 0Then "é uma ampla gama
cstart_ip = esquerda (ctemp_ip, instrum (ctemp_ip, "*")-1)
ifleft (cinput_ip, len (cstart_ip)) = cstart_ipthen
Checkip = true
endif
endif
ifinstr (ctemp_ip, "-") = 0hen
cstart_ip = ctemp_ip
cend_ip = ctemp_ip
outro
cstart_ip = esquerda (ctemp_ip, instrum (ctemp_ip, "-")-1)
cend_ip = esquerda (cstart_ip, Instrrev (cstart_ip, ".")-1)+"."+mid (ctemp_ip, instrum (ctemp_ip, "-")+1)
endif
ifip2str (cinput_ip)> = ip2str (cstart_ip) andip2str (cinput_ip) <= ip2str (cend_ip) então
Checkip = true