Array
(
)

Ajuda - Não consigo executar

PHP
Karine Sobral
   - 12 ago 2015

Boa noite! Estou com um probleminha bobo, testanto um exemplo que bloqueia um numero IP, mas não sei como testar, como inserir no navegador, tentei de algumas formas.
o código em questão!
#Código


$ipsbloqueados = array("127.0.0.1", "10.0.0.1");
	
	foreach ($ipsbloqueados as $ip) {
		
		if($ip == $_SERVER['REMOTE_ADDR']){
			
			header("Location: /cursophp/app/negado.php");
			exit();			
			
		}
		
	}

Jothaz
   - 12 ago 2015

Imprima o que esta em:

#Código

$_SERVER['REMOTE_ADDR']


E faça o teste por este valor.

Karine Sobral
   - 12 ago 2015

Utilizo o "echo" antes desse trecho de código?

Jothaz
   - 12 ago 2015

Isso!

#Código

echo $_SERVER['REMOTE_ADDR']


Assim você vê o que esta retornando, então inclua este valor no array.

Karine Sobral
   - 12 ago 2015

Erro de sintaxe! eu queria saber apenas a URL correta.

Karine Sobral
   - 12 ago 2015

Tentando da seguinte forma:

Citação:
http://127.0.0.1:8080/cursophp/app/negado.php

Jothaz
   - 13 ago 2015

Olha a questão do IP não é tão trivial pois quando você roda local ou passa por um proxy pode mascarar o ip original.

Tente assim, ver o que esta na variavel.

#Código

<?php
$ip = $_SERVER['REMOTE_ADDR'];
echo $ip;
?>


Já tem um bom tempo que não uso o PHP, mas usa o script abaixo para pegar o IP real, não sei se ainda é a melhor maneira, mas não custa tentar:

#Código
<?php
$http_client_ip       = $_SERVER['HTTP_CLIENT_IP'];
$http_x_forwarded_for = $_SERVER['HTTP_X_FORWARDED_FOR'];
$remote_addr          = $_SERVER['REMOTE_ADDR'];
 
/* VERIFICO SE O IP REALMENTE EXISTE NA INTERNET */
if(!empty($http_client_ip)){
    $ip = $http_client_ip;
    /* VERIFICO SE O ACESSO PARTIU DE UM SERVIDOR PROXY */
} elseif(!empty($http_x_forwarded_for)){
    $ip = $http_x_forwarded_for;
} else {
    /* CASO EU NÃO ENCONTRE NAS DUAS OUTRAS MANEIRAS, RECUPERO DA FORMA TRADICIONAL */
    $ip = $remote_addr;
}
 
echo $ip;
 
?>

Karine Sobral
   - 13 ago 2015

Funcionou apenas com o código!
#Código


                $ip = $_SERVER['REMOTE_ADDR'];
		echo $ip;



Não incluí o outro por ser diferente do que estava sendo visto! Mas vou guarda-lo para estudo posteriormente.

Jothaz
   - 13 ago 2015


Citação:
Funcionou apenas com o código!
#Código


                $ip = $_SERVER['REMOTE_ADDR'];
		echo $ip;



Não incluí o outro por ser diferente do que estava sendo visto! Mas vou guarda-lo para estudo posteriormente.

No final conseguiu retornar o ip e fazer o teste que você queria?

Karine Sobral
   - 13 ago 2015

Sim, obrigada.