OVH Cloud OVH Cloud

Filtrage Plages IP ?

6 réponses
Avatar
Christophe Rippert
Bonjour à tous,

Voilà j'ai un petit problème en PHP. J'aimerais interdire l'accès de mon
site à une personne se connectant à partir de Wanadoo ADSL Strasbourg.

Or comme mon site est hébergé chez FREE, je ne peux voir le DNS complet
(REMOTE_HOST) mais juste l'IP (REMOTE_ADDR). En effet chez Free, pour
économiser de la bande passante et du temps CPU, les résolutions DNS ne
sont pas faîtes.

Avec le DNS j'aurais pu très bien filtré astrasbourg-*.abo.wanadoo.fr
(eregi sur $client_dns). Mais là je vais devoir filtrer sur plusieurs
plages IP (80.14.48.0 - 80.14.48.255 et 80.15.24.0 - 80.15.24.255 par ex,
etc.).

Comment intégrer ce genre de filtrage ? Je ne sais pas si un simple eregi
pourra régler ce problème (exemple si la plage IP est 80.44.34.34 à
80.44.35.33).

Merci pour vos réponses, contributions.

Christophe

6 réponses

Avatar
loufoque
Christophe Rippert a dit le 09/08/2004 17:52:

Or comme mon site est hébergé chez FREE, je ne peux voir le DNS complet
(REMOTE_HOST) mais juste l'IP (REMOTE_ADDR). En effet chez Free, pour
économiser de la bande passante et du temps CPU, les résolutions DNS ne
sont pas faîtes.


Tu peux pas faire gethostbyaddr($_SERVER['REMOTE_ADDR']) ?

Avatar
thierry
bonjour,
à la barbare par exemple

<?php
...
$atom = explode(".", $addr)
if ( ($atom[0] == "80") && ($atom[1] == "44") ) {
if ( ($atom[2] == "34") && ($atom[3] >= "34") )
return "mechant wanadoo de strasbourg";
if ( ($atom[2] == "35") && ($atom[3] <= "33") )
return "mechant wanadoo de strasbourg";
}

...
?>

Comment intégrer ce genre de filtrage ? Je ne sais pas si un simple eregi
pourra régler ce problème (exemple si la plage IP est 80.44.34.34 à
80.44.35.33).

Merci pour vos réponses, contributions.

Christophe


Avatar
Baroiller Pierre-Emmanuel
Pourquoi utiliser php ???
tu n'aurais pas meilleur temps de faire ça directement par un .htaccess ?

"Christophe Rippert" <mrbug+ a écrit dans le message de
news:xw6jtfcf8d5i$
Bonjour à tous,

Voilà j'ai un petit problème en PHP. J'aimerais interdire l'accès de mon
site à une personne se connectant à partir de Wanadoo ADSL Strasbourg.

Or comme mon site est hébergé chez FREE, je ne peux voir le DNS complet
(REMOTE_HOST) mais juste l'IP (REMOTE_ADDR). En effet chez Free, pour
économiser de la bande passante et du temps CPU, les résolutions DNS ne
sont pas faîtes.

Avec le DNS j'aurais pu très bien filtré astrasbourg-*.abo.wanadoo.fr
(eregi sur $client_dns). Mais là je vais devoir filtrer sur plusieurs
plages IP (80.14.48.0 - 80.14.48.255 et 80.15.24.0 - 80.15.24.255 par ex,
etc.).

Comment intégrer ce genre de filtrage ? Je ne sais pas si un simple eregi
pourra régler ce problème (exemple si la plage IP est 80.44.34.34 à
80.44.35.33).

Merci pour vos réponses, contributions.

Christophe


Avatar
Thibault
Christophe Rippert wrote:
Bonjour à tous,

Voilà j'ai un petit problème en PHP. J'aimerais interdire l'accès de mon
site à une personne se connectant à partir de Wanadoo ADSL Strasbourg.

Or comme mon site est hébergé chez FREE, je ne peux voir le DNS complet
(REMOTE_HOST) mais juste l'IP (REMOTE_ADDR). En effet chez Free, pour
économiser de la bande passante et du temps CPU, les résolutions DNS ne
sont pas faîtes.

Avec le DNS j'aurais pu très bien filtré astrasbourg-*.abo.wanadoo.fr
(eregi sur $client_dns). Mais là je vais devoir filtrer sur plusieurs
plages IP (80.14.48.0 - 80.14.48.255 et 80.15.24.0 - 80.15.24.255 par ex,
etc.).

Comment intégrer ce genre de filtrage ? Je ne sais pas si un simple eregi
pourra régler ce problème (exemple si la plage IP est 80.44.34.34 à
80.44.35.33).

Merci pour vos réponses, contributions.

Christophe


Salut,

Meme si Free ne te donnes pas automatiquement la résolution, rien ne
t'empeche de resolve toi meme le nom avec un fonction php (la j'ai plus
le nom sous la main), mais ca marche très bien chez free, je récup moi
meme les hosts sur un de mes sites pour faire des stats ...
Ensuite un petit
if (eregi("astrasbourg",fct($_SERVER['REMOTE_ADDR']),$res)) {
header("Location: www.google.fr");
}
Et le tour est joué ..

A+
--
Thibault

Avatar
JC
Or comme mon site est hébergé chez FREE, je ne peux voir le DNS complet
(REMOTE_HOST) mais juste l'IP (REMOTE_ADDR). En effet chez Free, pour
économiser de la bande passante et du temps CPU, les résolutions DNS ne
sont pas faîtes.


Sur mon site chez FREE, cela fonctionne parfaitement.
j'utilise cette fonction :

gethostbyaddr($ip)

JC.

Avatar
loufoque
Christophe Rippert a dit le 09/08/2004 17:52:

Bonjour à tous,

Voilà j'ai un petit problème en PHP. J'aimerais interdire l'accès de mon
site à une personne se connectant à partir de Wanadoo ADSL Strasbourg.


Petit détail : Tu seras sûrement obligé d'interdire l'accès à ton site à
tous les abonnés Wanadoo sur Strasbourg (car IP/Host dynamique). Pas
vraiment intelligent.
Et puis même, bannir quelqu'un d'un site... à part si c'est un dangereux
qui fait du hammering ou que sais-je ça apporte pas grand chose.