Bloquer Wanadoo, une ville

  • Auteur de la discussion Auteur de la discussion XtofotX
  • Date de début Date de début
Nouveau WRInaute
Bonjour,

Je cherche en vain le moyen de bloquer un internaute particulièrement indésirable qui ne cesse de pourrir mon blog. Celui-ci a une connexion Wanadoo: je le sais car dans mes stats c'est toujours le même nom d'hôte quand l'indésirable fait des siennes. Alors quitte à bloquer tout les utilisateurs utilisant Wanadoo dans la même ville que lui, je suis prêt à le faire.
J'ai essayé d'ajouter des lignes de code dans mon fichier .htaccess, pendant plus d'une heure sans succès, en essayant avec mon propre nom d'hôte.

Code:
son nom d'hôte (le dernier de mes stats) : ASt-Lambert-151-1-61-76.w83-199.abo.wanadoo.fr

Mes lignes de codes :
RewriteCond %{REMOTE_HOST} .*ASt-Lambert$
RewriteRule ^.* https://www.google.com

Voila maintenant vous savez d'ou provient l'indésirable en question ;)

Mais mon problème c'est que je ne sais pas comment exclure les gens de St-Lambert avec n'importe quelle adresse IP, de Wanadoo si possible.
De plus mon RewriteRule à la fin fonctionne apparemment avec n'importe quel nom d'hôte, et non celui de wanadoo à St Lambert seulement.

Vous avez une idée?

Merci d'avance !
 
WRInaute passionné
[Edit AW] On va éviter ce débat

Perso, je suis super mauvais avec les regles du htaccess, mais peut etre que tu pourrais essayer de faire la meme chose en php? Tu inclus tout simplement un meme fichier en haut de chaque page (avant toute sortie html, y compris les espaces blancs!!!)

Et il te suffit donc de: récupérer le nom d'hote, de regarder si il contient "Lambert" ET "wanadoo", et si c'est le cas de faire un petit header location vers un site (de ton choix, j'te laisserai prendre un truc croustillant)
 
Nouveau WRInaute
Sinon c'est vrai que j'ai pensé à faire ce genre de détection en début de fichier en PHP. Je pense même que je vais le faire en attendant une solution en .htaccess si les autres ont de bonnes idées ?
Mon problème est que ce genre de détection ralentit pas mal le site ou la page sur lequel le bout de code est ajoutée, puisqu'à chaque connexion, un Reverse DNS est exécuté. Et je crois savoir que cette détection est plus rapide en htaccess qu'en php, voilà pourquoi j'opterais plus pour la solution htaccess, plus propre et plus rapide.

Merci en tous cas! :)
 
WRInaute passionné
pourquoi plus rapide?

Le client envoie forcément son nom d'hote, donc php n'a juste qu'a le traiter, suivant une petite condition ridicule...

Non je ne penses pas que cela puisse ralentir considérablement ton site.

Il est vrai que si tu le met dans un htaccess, c'est apache qui traite directement le bordel, avant d'envoyer la requete à préproc PHP...
 
Nouveau WRInaute
Je ne sais pas trop si htaccess est plus rapide que PHP, mais il me semble l'avoir lu quelque part. En tous cas c'est vrai qu'il s'agit d'un Reverse DNS dans les deux cas et que ça prend un minimum de temps, de toute façon.

Sinon bah voilà, j'ai ajouté cette petite ligne de code dans les pages nécessaires uniquement (celles qui postent des infos sur le site ou m'envoient des mails par exemple) et ça a l'air de marcher comme ça en attendant. En gros il va écrire son paquet d'insultes, et se retrouver au moment de poster le tout avec une pseudo erreur 500 en anglais sans que son commentaire soit affiché. Pareil s'il veut m'envoyer un mail. Tant pis pour les autres gentils habitants de St Lambert avec une connexion mamadoo... Donc, merci ! Tu m'as convaincu d'utiliser ce système en attendant mieux :)
Mais dans l'idéal, j'aimerais lui bloquer l'accès à tout le site, pas seulement ces pages là... quelques RewriteCond et RewriteRule en htaccess me paraissent plus appropriées. Mais surtout, c'est pas mal plus "propre" à mon goût, plutôt que de rajouter des lignes de codes php dans plusieurs pages à cause d'un seul emmerdeur.

Des idées quelqu'un?
 
WRInaute passionné
c'est certain que c'est plus propre, après plus rapide... quelques millisecondes...

Tu n'a pas un fichier de configuration inclut dans toutes tes pages?

Sinon pour trouver mieux, je te laisse attendre que les WRIstes se levent. ;)
 
WRInaute impliqué
Une autre idée peut-être as tu regardé sa plage d'adresse IP il y a des chances que ce soit toujours une même plage d'adresse car venant du même fournisseur donc a ce moment un simple test sur l'ip et cela ne coute pas en temps. Et surtout lui faire un retour sur une page lui faisant croire que le site n'existe plus ou est en cours de reorg pour pas que tu sois embété par le fait qu'il cherche a contourner ton truc.

A+
 
WRInaute discret
Pour ce qui est de .htaccess je suis pas un expert mais il me semble que tu dois chercher du coté de deny from ...

Sinon comme l'a dit f_trt, si tu arrives a avoir la plage d'ip tu peux utiliser une ligne de code php du type :
Code:
<?php
$listeip = array("xx.xx.xx.xx", "xx.x.xx.xx");

foreach ($listeip as $ip){
if ($_SERVER["REMOTE_ADDR"] == $ip)
die('Accès refusé');
}
?>

En esperant faire avancer ...
 
Nouveau WRInaute
Bonjour,

Personnellement je ne sais pas si les internautes Wanadoo ont des adresses IP fixes, je sais que c'est le cas pour Free.

J'avais le même souci et effectivement un filtre sur l'IP a permis de faire le ménage, comme indiqué dans le post précédent en php, test sur l'IP.

Le mieux est encore surtout de ne pas dire que l'accès est refusé, mais de montrer les pages "spéciales" valables uniquement que pour cette internaute avec tous ces commentaires... comme cela il continue de perdre son temps à saisir ses bêtises...et il croit qu'il pollue...alors qu'il n'y a que lui qui visualise ces pages. Cela fait un peu plus de boulot à développer, mais quelle bonheur de voir le mec perdre son temps à essayer de spammer... mais ce n'est peut-être pas si facile à faire que cela sur tous les sites...

J'avais essayé également de filrer avec des cookies... mais si l'internaute spammeur s'y connaît un minimum il vire ou n'accepte pas les cookies...

A+
 
WRInaute occasionnel
Tu as l'heure, la date et son ip quand il poste.
T'envoie un Recommander avec AR à wanadoo avec tout les poste qu'il à emis avec tout les dates les differents ips etc exact et tu demandes qu'il le contact sinon tu te verra obliger de porte pleinte pour insultes, diffamtion etc...
Dans tout les cas si quelqu'un me ferait ça surtout qu'il semble pas très malin à part si il ce connet d'une salle reseau (tjrs la même) sinon il aura bien les choquottes ^^
 
Nouveau WRInaute
Merci tout le monde !

J'essaye tout ca ce soir ou des que j'ai un peu de temps!
J'essaye le RewriteCond avec ASt-Lambert, je vais aussi regarder du cote de Deny From, ou sinon une page php rien que pour lui.
Pour Deny From, est-ce qu'on peut mettre des * dans le host qu'on veut banir?
genre "Deny From ASt-Lambert.*"? En meme temps, avec ca, le type aura un message d'erreur 5xx... et c'est vrai que... lui faire croire que tout va bien alors qu'il ne poste rien est une option qui m'interesse pas mal :p Pour l'instant j'ai mis en place des "pseudos erreurs" pour qu'il croit que tout le monde est affecte. Il va etre content de voir que mon site ne marche plus et va sans doute arreter de me faire chier pour un temps...

Merci a tous, je vous reviens avec mes tests des que possible ! Bon apres-midi a tous, moi je commence ma journee, il est 10 heures a Montreal :)
 
Nouveau WRInaute
Un grand merci encore à tous pour vos précieux conseils que j'ai essayé de mettre en pratique ce soir.
Alors voici un petit compte-rendu de mes tests comme promis.

J'ai donc essayé avec le code suivant:
Code:
#RewriteCond %{REMOTE_HOST} ^modemcable.*
#RewriteRule ^.* https://www.google.com [L]
Et ça a l'air de marcher. En effet mon nom d'hôte commence par "modemcable", et quand j'essayais d'aller sur mon site je me retrouvais en effet sur Google.com à la place. Si je mettais "modemcible", ça ne marchait plus.

Mais pour ne pas que mon indésirable puisse se douter que je le redirige volontairement sur google.com, j'ai essayé le code suivant qui me générait forcément une erreur 500, une vraie de vraie erreur 500:
Code:
#RewriteCond %{REMOTE_HOST} ^modemcable.*
#RewriteRule ^.* http://www.monsite.com/erreur404.php [L]
C'est logique, puisque je lui interdis l'accès a mon site et que ma règle de réécriture le renvoie sur mon site justement... Donc Erreur 500 pour éviter la boucle sans fin.
Question: Est-il possible de contourner ça, et de vraiment le rediriger sur ma page d'erreur 500 ou 404 à moi ?

Autre chose, j'ai testé avec Deny From, malheureusement sans rencontrer le succès. Et puis les rares fois où ça a marché avec des tests sur mon hôte, j'obtienais une erreur 403 "Forbidden"... or on s'était dit d'éviter de faire en sorte que le type s'aperçoive d'une quelconque censure :( De plus, il est apparemment impossible de jouer avec les * pour faire quelque chose comme ceci :
Code:
Deny From ASt-Lambert-*-abo.wanadoo.fr
Or je pense que j'ai vraiment besoin de ça : je ne veux pas exclure tous les français utilisant une connexion Wanadoo, juste les habitants de Saint-Lambert (dans les Yvelynes je pense).

Que me conseillez-vous?
 
Nouveau WRInaute
pour ton souci tu dois récupérer l'ip de l'internaute: utiliser la commande whois ou aller sur le site http://www.viewwhois.com et rentrer dans ton cas:ASt-Lambert-151-1-61-76.w83-199.abo.wanadoo.fr

La la commande te renvoie l'adresse ip du gars:83.199.123.76

Ensuite dans ton .htaccess tu lui dit ca:
Order allow,deny
allow from all
deny from 83.199.123.76

Résultat: l 'internaute ne peux plus accéder à ton site (si son ip ne change pas...)

Sinon tu traites ca directement en php:
if(ereg("ASt-Lambert",$_SERVER["REMOTE_ADDR"],$tab)){exit;}
 
WRInaute discret
Bonjour,

Oui mais le problème est que Wanadoo change d'IP tous les jours... C'est comme cela que j'ai arrêté mon Forum, dès que ton site est interactif il faut s'attendre à des dérives, il faut le surveiller en permanence.

Je ne vois que cela.
 
WRInaute discret
Bonjour,
Je me permets de répondre à ce post, car celui-ci est trop bien référencé sur google, et aussi parce qu'il y a beaucoup de personnes qui demande comment bloquer un IP dynamique de Wanadoo.

En .htaccess, c'est impossible, mais en php c'est possible. Voici le code à insérer dans votre page d'envoi du formulaire :

Code:
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$banville = Array('ASt-Lambert');
foreach ($banville as $banni)
{ $comparaison = strstr($hostname, $banni);
if($comparaison!==false)
   {
   $banfai = Array('wanadoo');
   foreach ($banfai as $banni)
     { $comparaison = strstr($hostname, $banni);
     if($comparaison!==false)
           {
           echo "acces refuse";
           exit;
           }
     }
   }
}
 
Nouveau WRInaute
MERCI à toi Terry ! Ca fonctionne parfaitement.

J'ai le même problème que le posteur du sujet.

C'est génial ce script, tu me sauves la vie, j'ai tout testé via les .htacess.

J'ai placé ça dans le posting.php de mon forum, je peux vous dire que le mec va enrager. Il peut tout lire, il ne peut plus rien écrire.
 
Discussions similaires
Haut