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ódigoecho $_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.