Hello,

Je souhaites ne laisser passer que 2 IP sur mon site, les autres doivent être envoyer vers perdu.com.

Avec ce code normalement si l'adresse IP est différente de 89... OU 62... le site devrait se lancer.


<?php
$adresse_ip = $_SERVER['REMOTE_ADDR'] ;
if (($adresse_ip != "89.zzz.yyy.xxx") || ($adresse_ip != "62.zzz.yyy.xxx" )) { header ('Location:  http://perdu.com/');  }
?>


Ce n'est pas le cas, je tombe toujours sur perdu.com. Si je découpe la formule pour :


if ($adresse_ip != '62.zzz.yyy.xxx' )  { header ('Location:  http://www.perdu.com/');  }


Ca fonctionne bien, c'est le cumul des deux qui ne fonctionne pas.

J'ai testé avec des " " " et des " ' " autour des adresses IP, pareil. (je débute en php, j'ai pas encore tout compris aux balises Smiley rolleyes )

Merci,
David
Modifié par Kapoue_12 (08 May 2010 - 10:39)
Bonjour,

Il faut utiliser && (et) et non || (ou).

Ta condition actuelle est : si adresse différente de A ou différente de B alors, ton adresse étant unique, si adresse=A, elle sera différente de B ; donc la condition sera validée !

Attention l'algèbre relationnelle c'est trompeur Smiley cligne
Bonjour,

Hors sujet mais un header("location:....") ne te permet pas de protéger une page. Si le visiteur a les redirections désactivées, il verra la page sans soucis. Je te conseil de rajouter un exit ou un die() après le header.