Verificar se ip está no range

2 respostas
Y

Alguém conhece alguma biblioteca ou mesmo um algoritmo para validar se um ip está dentro de uma faixa de ip’s?

Por exemplo: Tenho uma aplicação web e acesso ela pelo ip 172.17.1.51 e tenho uma faixa de ip’s que eu apenas sei o inicial e o final (172.17.1.50 - 172.17.1.80)

O meu problema é como verificar se o 172.17.1.51 pertence a esse range de ips.

[]'s

2 Respostas

E

Converta o IP para um long e compare com os limites do intervalo, que devem ser convertidos para um long.

Exemplo:

172.17.1.50 = 172 * 16777216L + 17 * 65536 + 1 * 256 + 50 = 2886795570L
172.17.1.80 = 2886795600L
172.17.1.51 = 2886795571L que está entre 2886795600L e 2886795570L

Y

Boa, não tinha pensado nisso. Valeu.
Estava dando uma olhada nesse algoritmo: http://www.sbbi.net/site/jafs/docs/ip-blocking.html
mas pelos testes que eu fiz não funcionou muito bem

Criado 14 de dezembro de 2010
Ultima resposta 14 de dez. de 2010
Respostas 2
Participantes 2