|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
keroin WRInaute accro

Inscrit le: 29 Avr 2006 Messages: 2153
|
Posté 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  |
|
| |
|
 |
keroin WRInaute accro

Inscrit le: 29 Avr 2006 Messages: 2153
|
Posté 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 ? |
|
| |
|
 |
edd_ WRInaute occasionnel

Inscrit le: 12 Mai 2008 Messages: 108
|
Posté 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 ! |
|
| |
|
 |
keroin WRInaute accro

Inscrit le: 29 Avr 2006 Messages: 2153
|
Posté 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
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.
 |
|
| |
|
 |
edd_ WRInaute occasionnel

Inscrit le: 12 Mai 2008 Messages: 108
|
Posté 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  |
|
| |
|
 |
keroin WRInaute accro

Inscrit le: 29 Avr 2006 Messages: 2153
|
Posté 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  |
|
| |
|
 |
edd_ WRInaute occasionnel

Inscrit le: 12 Mai 2008 Messages: 108
|
Posté 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 .
Bn chance pour la suite keroin |
|
| |
|
 |
medium69 WRInaute accro

Inscrit le: 07 Mai 2005 Messages: 2151 Localisation: Je sais pas trop ;)
|
Posté 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 WRInaute accro

Inscrit le: 07 Mai 2005 Messages: 2151 Localisation: Je sais pas trop ;)
|
Posté 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
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
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 |
|
|
| |
|
 |
edd_ WRInaute occasionnel

Inscrit le: 12 Mai 2008 Messages: 108
|
Posté 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 ? |
|
| |
|
 |
keroin WRInaute accro

Inscrit le: 29 Avr 2006 Messages: 2153
|
Posté 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
ps : merci Medium il a l'air beaucoup plus complet maintenant, beau boulot
ps2 : c'est quoi ce lien ???
=>-http://www.science-et-vie.net/img/graphisme/erreur-404.jpg |
|
| |
|
 |
medium69 WRInaute accro

Inscrit le: 07 Mai 2005 Messages: 2151 Localisation: Je sais pas trop ;)
|
Posté 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
ps : merci Medium il a l'air beaucoup plus complet maintenant, beau boulot
ps2 : c'est quoi ce lien ???
=>-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  |
|
| |
|
 |
edd_ WRInaute occasionnel

Inscrit le: 12 Mai 2008 Messages: 108
|
Posté 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 |
|
| |
|
 |
medium69 WRInaute accro

Inscrit le: 07 Mai 2005 Messages: 2151 Localisation: Je sais pas trop ;)
|
Posté 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. |
|
| |
|
 |
edd_ WRInaute occasionnel

Inscrit le: 12 Mai 2008 Messages: 108
|
Posté 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
Ma tete tourne, je doit prendre une café  |
|
| |
|
 |
| |
|
|