Discussion:
[FRENCH] Blocage des visiteurs non autoriser par IP/HOSTNAME
(trop ancien pour répondre)
Ulf Kadner
2007-08-20 12:47:17 UTC
Permalink
Bonjour à tous !
Je suis à la recherche d'un script si il existe déjà ou de la manière
à m'y prendre si il n'existe pas.
Je vous explique j'aimerais réaliser où avoir un script qui permet de
protéger mon site internet de mon entreprise.
Et pour ne pas laisser la sécurité à la légère, on n'est jamais assez
protéger des attaques internet j'aimerais que cette restriction ce
face sur base de l'ip/hostname des visiteurs.
C'est-à-dire que j'aimerais stocker dans ma base de donner des
hostnames et ip des personnes autoriser d'accès.
Par exemple avoir dans ma table pour
amarseille-251-1-13-243.w83-113.abo.wanadoo.fr (83.13.1.251) la valeur
en table amarseille-%.w83-113.abo.wanadoo.fr ou 83.13.%.% etc. afin de
géré les IP dynamique.
Et à partir de sa si le visiteur qui ce présente à une ip ou un host
qui correspond a aucune entrer en base lui afficher une erreur 404. Et
tout sa en prenant en compte que les IPs et hosts mise en base sont
avec un caractère joker ( % ).
Partant de cette idéologie, je pense que la procédure a faire est de
$ip = $_SERVER["REMOTE_ADDR"];
$hostname = gethostbyaddr($ip);
Ensuite, comparé avec ma table de host/ip avec une boucle.
Mais seulement la surviens mon problème ... comme les IP/HOST on des
caractères joker % comment procédé a un LIKE SQL à sens inverse ? Est-
il possible de faire sa ? Je ne pense pas... et vous ?
Pourquoi ne demandes-tu pas cela à une place où te comprends ?
Alors si je réfléchis un peut plus je me demande si avec des
expressions régulier il n'aurait pas moyen ?
Sinon, insérer peut-être l'IP et hostname du visiteur temporairement
en base, faire une boucle avec la table host, et faire un like sur la
colonne temporaire ip/host du visiteurs.. et si une retourne une
valeur autoriser l'accès, et au bout de la boucle si aucune valeur a
été retourné faire une erreur 404
Sa me semble compliquer et très farfelue ... donnez moi votre avis,
votre aide, votre expérience...
Merci, je m'excuse pour l'orthographe, j'espère avoir été clair et
d'avoir à mes fins très vite grâce à vous.
XPOST + fup après fr.comp.lang.php avec pondération. Toutes les réponses
apparaissent là.

Sorry for the bad french. Its not my favority language ;-)

Ulf
--
_,
_(_p> Ulf [Kado] Kadner
\<_)
^^
P'tit Marcel
2007-08-21 17:29:59 UTC
Permalink
Salut,
Et pour ne pas laisser la sécurité à la légère, on n'est jamais assez
protéger des attaques internet j'aimerais que cette restriction ce
face sur base de l'ip/hostname des visiteurs.
Bof, pas très fiable car dans l'univers internet, la plupart des IP sont
allouées dynamiquement. A contrario, cette restriction bloquerait un
utilisateur légitime qui se connecterait d'un lieu imprévu...
C'est-à-dire que j'aimerais stocker dans ma base de donner des
hostnames et ip des personnes autoriser d'accès.
Par exemple avoir dans ma table pour
amarseille-251-1-13-243.w83-113.abo.wanadoo.fr (83.13.1.251) la valeur
en table amarseille-%.w83-113.abo.wanadoo.fr ou 83.13.%.% etc. afin de
géré les IP dynamique.
Ne crois pas que les IP dynamiques sont forcément données dans des
tranches proches !
Et à partir de sa si le visiteur qui ce présente à une ip ou un host
qui correspond a aucune entrer en base lui afficher une erreur 404. Et
tout sa en prenant en compte que les IPs et hosts mise en base sont
avec un caractère joker ( % ).
Partant de cette idéologie, je pense que la procédure a faire est de
$ip = $_SERVER["REMOTE_ADDR"];
Attention, ne procure aucune sécurité dans le cas où le visiteur se
connecte à travers un proxy, confère la FAQ de ce forum :
http://faqfclphp.free.fr/#rub7.5
comme les IP/HOST on des
caractères joker % comment procédé a un LIKE SQL à sens inverse ? Est-
il possible de faire sa ? Je ne pense pas... et vous ?
Alors si je réfléchis un peut plus je me demande si avec des
expressions régulier il n'aurait pas moyen ?
sa sait pas si conpliquer :

Si la base de données est MySql, les instructions :
$IP = '^83\\.13\\.[0-9]{1,3}\\.[0-9]{1,3}$';
$sql = "select IP from latable where IP regexp '$ip'";
renverront les IP commençant par 83.13.
Sa me semble compliquer et très farfelue ... donnez moi votre avis,
votre aide, votre expérience...
Je te conseille le doc de Maître John :
http://www.saphirtech.com/securite_web_dynamique.pdf
et notamment la page 7 qui explique pourquoi une protection basée sur
l'adresse IP est très insuffisante...
XPOST + fup après fr.comp.lang.php avec pondération.
ça se saurait si tous les modérateurs étaient pondérés :-)


eça
--
P'tit Marcel
stats sur les forums modérés http://www.centrale-lyon.org/ng/
Continuer la lecture sur narkive:
Loading...