Jump to content
Fórum Script Brasil
  • 0

Permissão De Acesso Para Lista De Ips


TopNaWeb
 Share

Question

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.

Edited by TopNaWeb
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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!

Edited by TopNaWeb
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...