Ir para conteúdo
Fórum Script Brasil
  • 0

Permissão De Acesso Para Lista De Ips


TopNaWeb

Pergunta

Olá fiz o seguinte código para liberar acesso a meu sisteminha a determinados ips:

<?
$ip=$_SERVER["REMOTE_ADDR"];
 if (($ip == '200.234.206.4') or ($ip == '200.234.206.17')){
} else {
header ("Location: http://www.uol.com.br");
} 
?>

Só que descobri que a grande maioria das máquinas possuem ips validos(o que faz com que tenha que liberar ranges, visto que não tenho a lista de ips de todas as máquinas). alguém tem uma idéia?

Os ranges(listas) são (200.234.192.0/19 e 201.76.32.0/19) ou escritos de outra forma do ip inicial 200.234.192.0 até o ip 200.234.223.255 e do ip inicial 201.76.32.0 até o ip 201.76.63.255

Desde já agradeço a atenção.

Editado por TopNaWeb
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Não é a melhor maneira... mas dá pra fazer assim:

Pega o ip do cara e ai compara sem os pontos:

$ip_do_cara = //.. Pega o IP e remove os pontos...
if ((($ip_do_cara >= 2002341920) AND ($ip_do_cara <= 200234223255)) OR (($ip_do_cara >= 20176320) AND ($ip_do_cara <= 2017663255))){
//Aqui é se o IP estiver na range...

}else{
//aqui é se não estiver...

}

Link para o comentário
Compartilhar em outros sites

  • 0
Não é a melhor maneira... mas dá pra fazer assim:

Pega o ip do cara e ai compara sem os pontos:

$ip_do_cara = //.. Pega o IP e remove os pontos...
if ((($ip_do_cara >= 2002341920) AND ($ip_do_cara <= 200234223255)) OR (($ip_do_cara >= 20176320) AND ($ip_do_cara <= 2017663255))){
//Aqui é se o IP estiver na range...

}else{
//aqui é se não estiver...

}
Muito obrigado pelo ajuda. Sua idéia deu base para aprimorar meu desenvolvimento e conseguir alcançar o ponto em que precisava. Com base na ideia que me deu fiz eu fiz algumas implementações e funcionou. O código funcional ficou assim:
<?
//Aqui pego o ip
$recebe=$_SERVER["REMOTE_ADDR"];
//aqui removo os pontos do ip
$tipo=(str_replace(".", "", $recebe));
// Aqui defino se ele é do Range 200 ou 201
$valor = $tipo[0] . $tipo[1] . $tipo[2];
//No $a eu pego o do 4º ao 6º caratere do ip
$a = $tipo[3] . $tipo[4] . $tipo[5];
//No $b eu pego do 7º ao 9º caractere do ip
$b = $tipo[6] . $tipo[7] . $tipo[8];
// No $c eu pego o 4º e 5º caractere
$c = $tipo[3] . $tipo[4];
// No $d eu pego o 6º e 7º
$d = $tipo[5] . $tipo[6];
//Aqui faço as comparações e se caso o if retornar true ele não faz nada, caso contrario redireciona para outra página, por exemplo Uol
if ((($valor == 200)  AND  ($a == 234) AND ($b >= 192) AND ($b <= 223)) || (($valor == 201) AND ($c == 76) AND ($d >= 32) AND ($d <= 63))){
} else {
  header ("Location: http://www.uol.com.br");
}
?>

Mais uma vez muito obrigado!

Editado por TopNaWeb
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...