'***********************************
'FunctionCheckip (Cinput_IP, cbound_ip)
'CreatedByQQDAO, [email protected]/11/28
'Nota: Primeiro, você precisa fazer loop com base no; Número, então determine se ele contém "-", se houver, execute processamento dividido e, finalmente, determine se está dentro do intervalo
'Parâmetro: Cinput_ip, IP para a verificação de proxy
'CBOUND_IP, o formato de intervalo fornecido é, IP único e IP da faixa, o IP do alcance é usado pela última vez para dividir, se for "*", deve ser colocado no último dígito
'Adicionar ": permitir" após cada intervalo significa que o login é permitido e adicionar ": lixo" significa que o login é recusado. Use vários intervalos para separar
'Por exemplo, 192.168.1*.*: Permitir; 192.168.1.1:arlow; 192.168.1.1-10: lixo "
'Valor de retorno: true/false
'ATUALIZAÇÃO: 2001/12/05 Suportes Permitir, suporta'*', não quer estar certo? Suportado, porque é quase o mesmo que *
'***********************************
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
outro
Checkip = false
endif
endif
próximo
Função final
'***********************************