Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

Bot de spam que je ne parviens pas à bloquer

Aller à la page 1, 2  Suivante
Poster un nouveau sujet Imprimer cette discussion    Forum -> URL Rewriting et .htaccess   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
keroin
WRInaute accro
WRInaute accro

Inscrit le: 29 Avr 2006
Messages: 2153

URL permanente de ce messagePosté le : Sam Mai 17, 2008 23:30    Sujet du message: Bot de spam que je ne parviens pas à bloquer

Bonsoir à tous,
Depuis 2 ou 3 heures un bot spammeur s'attaque à mon phpbb3.
Je l'ai repéré car il génère pas mal de 404 (environ 2000 en quelques heures) et que je reçois un mail dès qu'une 404 est détectée sur mes sites.

Voici son identité
Nom de Domaine : 115.Red-80-39-38.staticIP.rima-tde.net
IP du visiteur : 80.39.38.115

J'ai essayé de bloquer cette sal***rie via htaccess comme je le fait d'habitude pour bloquer les referer que je ne souhaite pas.
J'ai utilisé le code suivant
Code:
RewriteCond %{HTTP_REFERER} ^(.*(rima-tde.net).*)$ [NC]
RewriteRule .* - [F,L]

Mais cela semble complétement inefficace et il continu à circuler librement ???
Quelqu'un aurait une idée?
Merci d'avance Wink
 
keroin Visiter le site web du posteur
keroin
WRInaute accro
WRInaute accro

Inscrit le: 29 Avr 2006
Messages: 2153

URL permanente de ce messagePosté le : Sam Mai 17, 2008 23:50    Sujet du message: Bot de spam que je ne parviens pas à bloquer

Bon il semble que j'ai réussi à le stopper par un simple blocage de son ip
Code:
deny from 80.39.38.115

mais ces petites bêtes là changent généralement souvent d'ip et je ne comprend toujours pas pourquoi le blocage de son ndd n'a pas fonctionné.
Si quelqu'un a une explication ?
 
keroin Visiter le site web du posteur
edd_
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 12 Mai 2008
Messages: 108

URL permanente de ce messagePosté le : Dim Mai 18, 2008 1:07    Sujet du message: Bot de spam que je ne parviens pas à bloquer

Bon moi j'ai pas d'explication , mais je veu just savoir comment t'as pu detecter le IP du bot ? car j'ai le meme probleme !
 
edd_
keroin
WRInaute accro
WRInaute accro

Inscrit le: 29 Avr 2006
Messages: 2153

URL permanente de ce messagePosté le : Dim Mai 18, 2008 1:19    Sujet du message: Bot de spam que je ne parviens pas à bloquer

J'utilise un script qui m'envoie un mail dès qu'une erreur est détectée (404, 500,...).
Voici la procédure si ça peut te filer un coup de mains Wink

L'auteur de ce script est un membre du forum (Medium69 si je me souviens bien, merci à lui).

Il faut créer un fichier erreur.php avec le code suivant :
Code:
<? switch   ($_SERVER['REDIRECT_STATUS']) {
      case 401:
      $mess_erreur = 'Accès à la ressource refusé';
      break;
      case 403:
      $mess_erreur = 'Refus de traitement de la requête';
      break;
      case 404:
      $mess_erreur = 'Document non trouvé';
      $logoErreur = '404';
      break;     
      case 410:
      $mess_erreur = 'La ressource est indisponible et aucune adresse de redirection n\'est connue';
      }

if      (!eregi('(cltreq.asp|owssvr.dll|_vti)', $_SERVER['REQUEST_URI']) && $_SERVER['REDIRECT_STATUS'] != 410 ) {
         if      (empty($_SERVER['HTTP_REFERER'])) {
               $provenance = 'Connexion directe';
               }
         else   {
               $provenance = $_SERVER['HTTP_REFERER'];
               }
         
         $mess   = 'Erreur internet '.$_SERVER['REDIRECT_STATUS']."\n\r";
         $mess   .= 'Provenance : '.$provenance."\n\r";
         $mess   .= 'Url demandée : '.$_SERVER['REQUEST_URI']."\n\r";
         $mess   .= 'Navigateur utilisé : '.$_SERVER['HTTP_USER_AGENT']."\n\r";
         $mess   .= 'Nom de Domaine : '.gethostbyaddr($_SERVER['REMOTE_ADDR'])."\n\r";
         $mess   .= 'IP du visiteur : '.$_SERVER['REMOTE_ADDR'];     
         $to                  = "TON_MAIL";
         $subject            = 'Erreur internet '.$_SERVER['REDIRECT_STATUS'];
         $message            = $mess;
         $headers            = 'From: TON_MAIL'."\r\n".'Reply-To: TON_MAIL'."\r\n";
   
         mail($to, $subject, $message, $headers);
         }
       ?>


=> ne pas oublier d'indiquer ton mail dans le script (3 fois).

Place ensuite ce fichier à la racine de ton site via ftp.

Ensuite, dans ton fichier .htaccess, places les instructions suivantes :
Code:
ErrorDocument 400 /erreur.php
ErrorDocument 401 /erreur.php
ErrorDocument 403 /erreur.php
ErrorDocument 404 /erreur.php
ErrorDocument 410 /erreur.php
ErrorDocument 500 /erreur.php


Tu obtiens alors un mail qui t'indique les informations importantes nécessaires.
Wink
 
keroin Visiter le site web du posteur
edd_
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 12 Mai 2008
Messages: 108

URL permanente de ce messagePosté le : Dim Mai 18, 2008 1:40    Sujet du message: Bot de spam que je ne parviens pas à bloquer

oui c'est claire, merci
Mais cela veut dire que je vais recevoir plus de 30000 mail par jour presque puisque les page erreur sur mon server consomme plus de 30000 hits (j'ai une page d'erreur 404 et 403 .. personnalisé via htaccess ) mais bon savoir l'IP quan meme Wink
 
edd_
keroin
WRInaute accro
WRInaute accro

Inscrit le: 29 Avr 2006
Messages: 2153

URL permanente de ce messagePosté le : Dim Mai 18, 2008 1:42    Sujet du message: Bot de spam que je ne parviens pas à bloquer

Bah justement, le flux des mails te permet d'identifier l'origine du problème et de le corriger mais également de contrôler si la "rustine" a fonctionné car si il n'y a plus de mail c'est que le blocage est ok Wink
 
keroin Visiter le site web du posteur
edd_
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 12 Mai 2008
Messages: 108

URL permanente de ce messagePosté le : Dim Mai 18, 2008 1:51    Sujet du message: Bot de spam que je ne parviens pas à bloquer

oui, je vais créer un email just pour detection de bot Smile.
Bn chance pour la suite keroin
 
edd_
medium69
WRInaute accro
WRInaute accro

Inscrit le: 07 Mai 2005
Messages: 2151
Localisation: Je sais pas trop ;)

URL permanente de ce messagePosté le : Dim Mai 18, 2008 10:30    Sujet du message: Bot de spam que je ne parviens pas à bloquer

Depuis je l'ai modifié un peu...

Tu peux par exemple instruire une base de données pour éviter de crouler sous les mails
 
medium69 Visiter le site web du posteur
medium69
WRInaute accro
WRInaute accro

Inscrit le: 07 Mai 2005
Messages: 2151
Localisation: Je sais pas trop ;)

URL permanente de ce messagePosté le : Dim Mai 18, 2008 10:52    Sujet du message: Bot de spam que je ne parviens pas à bloquer

Voici ce que j'ai ; a vous de le personnaliser Wink
Sachant que dans le filtre préliminaire, concernant le paramètre GET, dans mon cas, je n'ai aucune page ayant ce paramètre ; donc si on en trouve un, c'est pas normal Wink

Pour les plus curieux, voici les images d'illustration de mes erreurs internet : -http://www.science-et-vie.net/img/graphisme/erreur-404.jpg (qui peut être : 401 403 404 405 406 410 500.jpg)

Code:
<?php
// Contrôles préliminaires
if ((preg_match('#/.+/$#U', $_SERVER['REQUEST_URI']) && preg_match('#(compatible; Yahoo! Slurp;|Speedy Spider)#U', $_SERVER['HTTP_USER_AGENT'])) || preg_match('#(\?|%20http).+#U', $_SERVER['REQUEST_URI'])) { // (Visite d'un dossier par un moteur) || (paramètre GET présent ou tentative avérée de piratage)
   $uri = $_SERVER['SCRIPT_URL']; // Url demandée
   $num_erreur = $_SERVER['REDIRECT_STATUS']; // Numéro de l'erreur
   $domaine = gethostbyaddr($_SERVER['REMOTE_ADDR']); // Domaine du visiteur
   
   // Ici recherche des trois paramètres : uri, num-erreur et domaine dans la BDD erreur
   
   if ($nb_uri_erreur == 1) {   // Si trouvé sans la BDD         
      // On enregistre la date de visite et on incrémente un compteur de visite
   } else {
      // On enregistre les nouvelles informations : uri, num-erreur et domaine dans la BDD erreur, date de visite, et compteur de visite à 1
   }
   
   // On génère une 301 pour ne pas afficher de page d'erreur
   header ('HTTP/1.1 301 Moved Permanently');
   header('Location: http://www.science-et-vie.net/');
   exit;
}

// Ici incrémenter un compteur pour chaque erreur dans un BDD : 401, 403, 404, etc.
// Récupération du compteur de visite pour l'erreur dite

if ($nb_erreur == 1) {
   $nb_erreur = 'première';
} else {
   $nb_erreur = number_format($sql_result['erreur_nbTotal'], 0, ',', ' ').'<sup>ème</sup>';
}

$url = 'http://'.$_SERVER['SERVER_NAME'].$uri;
$compte_erreur = '<p class="alignCenter">Il s\'agit de la '.$nb_erreur.' erreur '.$_SERVER['REDIRECT_STATUS'].' depuis le 12 mai 2008 !</p>';

switch ($_SERVER['REDIRECT_STATUS']) { // Numéro de l'erreur internet
   case 401:
      $mess_erreur = '<h2 class="alignCenter">Accès à la ressource refusée.</h2>';
      $mess_erreur .= $compte_erreur;
      $mess_erreur .= '<ul><li>Cette page demande une autorisation que vous n\'avez visiblement pas.</li>';
      $mess_erreur .= '<li>Si vous pensez que vous êtes en droit d\'y accéder, je vous invite à prendre contact avec l\'administrateur du site.</li>';
      $mess_erreur .= '<li>Quelques informations vous concernant ont été envoyées à l\'administrateur par sécurité.</li></ul>';
      $logo_erreur = 'erreur-401.jpg';
      break;
   case 403:
      $mess_erreur = '<h2 class="alignCenter">Refus de traitement de la requête.</h2>';
      $mess_erreur .= $compte_erreur;
      $mess_erreur .= '<ul><li>Cette page ou ce dossier est interdit d\'accès à tous visiteurs.</li>';
      $mess_erreur .= '<li>Quelques informations vous concernant ont été envoyées à l\'administrateur par sécurité.</li></ul>';
      $logo_erreur = 'erreur-403.jpg';
      break;
   case 404:
      $mess_erreur = '<h2 class="alignCenter">Document non trouvé.</h2>';
      $mess_erreur .= $compte_erreur;
      $mess_erreur .= '<ul><li>Cette page est peut-être déplacée ou supprimée ; dans ce cas cette erreur sera vite réparée.</li>';
      $mess_erreur .= '<li>Si vous avez cliqué sur un lien présent sur autre site, il est possible que l\'information n\'ai pas suivie.</li>';
      $mess_erreur .= '<li>Si vous avez tapé l\'adresse directement, vous avez peut-être fait une erreur de frappe dans la saisie.</li></ul>';
      $logo_erreur = 'erreur-404.jpg';
      break;
   case 405:
      $mess_erreur = '<h2 class="alignCenter">Méthode de requête non autorisée.</h2>';
      $mess_erreur .= $compte_erreur;
      $mess_erreur .= '<ul><li>La méthode spécifiée à la ligne de requête n\'est pas autorisée pour la ressource identifiée par cette dernière.</li>';
      $mess_erreur .= '<li>Assurez-vous que la configuration du type MIME pour la ressource que vous demandez est approprié.</li></ul>';
      $logo_erreur = 'erreur-405.jpg';
      break;   
   case 406:
      $mess_erreur = '<h2 class="alignCenter">Inacceptable.</h2>';
      $mess_erreur .= $compte_erreur;
      $mess_erreur .= '<ul><li>La ressource identifiée par la demande ne peut générer que des entités de réponse possédant des caractéristiques de contenu « non acceptables » compte tenu des en-têtes Accept envoyés dans la demande.</li></ul>';
      $logo_erreur = 'erreur-406.jpg';
      break;   
   case 410:
      $mess_erreur = '<h2 class="alignCenter">Ressource indisponible.</h2>';
      $mess_erreur .= $compte_erreur;
      $mess_erreur .= '<ul><li>Cette page a été supprimée et aucune adresse de redirection n\'est connue.</li>';
      $mess_erreur .= '<li>Si vous avez cliqué sur un lien présent sur autre site, il est possible que l\'information n\'ai pas suivie.</li></ul>';
      $logo_erreur = 'erreur-410.jpg';
      break;
   case 500:
      $mess_erreur = '<h2 class="alignCenter">Erreur interne du serveur.</h2>';
      $mess_erreur .= $compte_erreur;
      $mess_erreur .= '<ul><li>Le serveur a rencontré une erreur interne inconnue et n\'a donc pas pu traiter votre demande.</li>';
      $mess_erreur .= '<li>Il a du être distrait par cette jolie créature... Revenez donc un peu plus tard !</li></ul>';
      $logo_erreur = 'erreur-500.jpg';
}

$img_infos = getimagesize($logo_erreur); // Taille de l'image


// Affichage du contenu
echo '<p><img src="'.$logo_erreur.'" alt="Illustration pour l\'erreur internet '.$_SERVER['REDIRECT_STATUS'].'" '.$img_infos[3].' /><br />
<strong>Url demandée : « '.$url.' »</strong></p>';
                  

   
   $mail_sujet = 'Erreur internet '.$_SERVER['REDIRECT_STATUS']; // Sujet de l'e-mail
   
   if (!isset($_SERVER['HTTP_REFERER'])) {
      $url_referant = 'Connexion directe';
   } else {
      $url_referant = $_SERVER['HTTP_REFERER'];
   }
   
   // Contenu de l'e-mail
   $mess_admin .= 'Code erreur internet : '.$_SERVER['REDIRECT_STATUS']."\n\r".
   'Date et heure d\'accès '.strftime('%A %e %B %Y à %R', $_SERVER['REQUEST_TIME'])."\n\r".
   'Url demandée : '.$_SERVER['REQUEST_URI']."\n\r".
   'Provenance : '.$url_referant."\n\r".
   'Navigateur utilisé : '.$_SERVER['HTTP_USER_AGENT']."\n\r".
   'Méthode utilisée : '.$_SERVER['REQUEST_METHOD']."\n\r".
   'Chaine de requête : '.$_SERVER['QUERY_STRING']."\n\r".
   'Nom de Domaine : '.gethostbyaddr($_SERVER['REMOTE_ADDR'])."\n\r".
   'IP du visiteur : '.$_SERVER['REMOTE_ADDR']."\n\r".
   'Langue de l\'OS : '.$_SERVER['LANG']."\n\r".
   
   // En-têtes de l'email
   $mail_header = 'From: '.MAIL_NO_REPLY."\r\n".
   'Reply-To: '.MAIL_NO_REPLY."\r\n";
   
   // Données de l'email
   $mail_dest = MAIL_ADMIN;
   
   mail($mail_dest, $mail_sujet, $mess_admin, $mail_header);

echo $mess_erreur.'
<p>Si nécessaire, vous pouvez vous servir du formulaire de recherche en haut de page pour trouver la page désirée.</p>
</div>';
?>


Je vous laisse gérer cela si vous voulez utilisez une BDD

J'ai oublier le .htaccess :
Code:
ErrorDocument 400 /erreur.php
ErrorDocument 401 /erreur.php
ErrorDocument 402 /erreur.php
ErrorDocument 403 /erreur.php
ErrorDocument 404 /erreur.php
ErrorDocument 405 /erreur.php
ErrorDocument 406 /erreur.php
ErrorDocument 407 /erreur.php
ErrorDocument 408 /erreur.php
ErrorDocument 409 /erreur.php
ErrorDocument 410 /erreur.php
ErrorDocument 411 /erreur.php
ErrorDocument 412 /erreur.php
ErrorDocument 413 /erreur.php
ErrorDocument 414 /erreur.php
ErrorDocument 415 /erreur.php
ErrorDocument 500 /erreur.php
ErrorDocument 501 /erreur.php
ErrorDocument 502 /erreur.php
ErrorDocument 503 /erreur.php
ErrorDocument 504 /erreur.php
ErrorDocument 505 /erreur.php
 
medium69 Visiter le site web du posteur
edd_
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 12 Mai 2008
Messages: 108

URL permanente de ce messagePosté le : Dim Mai 18, 2008 22:19    Sujet du message: Bot de spam que je ne parviens pas à bloquer

Autrement dit , est ce possible de savoir le suivi de page et les IP qui on passés dessus ?
Exemple de page erreur.php , comment connaitre un tel IP d'un utilisateur passé sur une tel page ?
 
edd_
keroin
WRInaute accro
WRInaute accro

Inscrit le: 29 Avr 2006
Messages: 2153

URL permanente de ce messagePosté le : Dim Mai 18, 2008 22:27    Sujet du message: Bot de spam que je ne parviens pas à bloquer

Reformules ta question car là ... rien compris Confused

ps : merci Medium il a l'air beaucoup plus complet maintenant, beau boulot Wink
ps2 : c'est quoi ce lien ??? Laughing Laughing
=>-http://www.science-et-vie.net/img/graphisme/erreur-404.jpg
 
keroin Visiter le site web du posteur
medium69
WRInaute accro
WRInaute accro

Inscrit le: 07 Mai 2005
Messages: 2151
Localisation: Je sais pas trop ;)

URL permanente de ce messagePosté le : Dim Mai 18, 2008 23:00    Sujet du message: Bot de spam que je ne parviens pas à bloquer

keroin a écrit:
Reformules ta question car là ... rien compris Confused

ps : merci Medium il a l'air beaucoup plus complet maintenant, beau boulot Wink
ps2 : c'est quoi ce lien ??? Laughing Laughing
=>-http://www.science-et-vie.net/img/graphisme/erreur-404.jpg


C'est vrai qu'il y a une grande métaphore avec les illustrations des erreurs (voir aussi les autres)... effectivement pour ma 404, rien ne s'y trouve là où tu as bien voulu regarder ^^

Je reconnais aussi que c'est un peu en décalage avec le site, mais c'est amusant justement Wink
 
medium69 Visiter le site web du posteur
edd_
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 12 Mai 2008
Messages: 108

URL permanente de ce messagePosté le : Dim Mai 18, 2008 23:21    Sujet du message: Bot de spam que je ne parviens pas à bloquer

le code donné indique l'IP visité sur la page erreur. si je voulai savoir la meme chose pour d'autres page du site par exemple ? que faire !
c'est claire je suppose
 
edd_
medium69
WRInaute accro
WRInaute accro

Inscrit le: 07 Mai 2005
Messages: 2151
Localisation: Je sais pas trop ;)

URL permanente de ce messagePosté le : Dim Mai 18, 2008 23:26    Sujet du message: Bot de spam que je ne parviens pas à bloquer

edd_ a écrit:
le code donné indique l'IP visité sur la page erreur. si je voulai savoir la meme chose pour d'autres page du site par exemple ? que faire !
c'est claire je suppose


La page d'erreur est générée automatiquement lors de la visite d'une url créant une erreur internet.

Si maintenant, tu veux récupérer l'ip sur des pages valides de ton site, dans ce cas, il te faut récupéré l'ip sur chacune de tes pages.

Mais franchement, je n'en vois pas l'intérêt si il n'y a pas de soucis.
 
medium69 Visiter le site web du posteur
edd_
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 12 Mai 2008
Messages: 108

URL permanente de ce messagePosté le : Dim Mai 18, 2008 23:38    Sujet du message: Bot de spam que je ne parviens pas à bloquer

Ah oui
Citation:
ErrorDocument 400
evidement, dsl Rolling Eyes
Ma tete tourne, je doit prendre une café Wink
 
edd_
 
Montrer les messages depuis:   
Revenir en haut    Forum -> URL Rewriting et .htaccess Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 2 - Aller à la page 1, 2  Suivante
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

En savoir plus : , , .

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort