[Qst] - Les robots, les attaques, les logs ?

Eléphant du PHP | 103 Messages

18 mars 2014, 18:37

Salutations,

Pour savoir quelles sont les erreurs rencontrées par mon site, et car je reçois beaucoup de rapports d'erreurs de Google Analytics, j'ai trouvé sur le net un petit code à rajouter dans mes fichiers d'erreurs 40x.
Je précise que je suis un bon newbie.

Pour cela, j'ai édité le .htaccess de ma racine de cette manière :

Code : Tout sélectionner

(...) # --- Other options --- # Erreur 400, Mauvaise requête ErrorDocument 400 /errors/404.php # Erreur 401, Non autorisé ErrorDocument 401 /errors/401.php # Erreur 403 , Interdit ErrorDocument 403 /errors/401.php # Erreur 404, Non trouvé ErrorDocument 404 /errors/404.php # Erreur 500, Erreur interne du serveur ErrorDocument 500 /errors/404.php (...)
Voici, par exemple, à quoi ressemble mon fichier 401.php :

Code : Tout sélectionner

(...) <?php if ( !$_SERVER['HTTP_REFERER']) { $_SERVER['HTTP_REFERER'] = 'URL Directe.'; } if ( !$_SERVER["REDIRECT_REMOTE_USER"]) { $_SERVER["REDIRECT_REMOTE_USER"] = 'Aucun !'; } $titre = "Erreur 401 sur le site"; $msg = "Infos techniques :\r\n\n"; $msg .= "- Serveur : " . $_SERVER['HTTP_HOST'] . "\r\n"; $msg .= "- Provenance : " . $_SERVER['HTTP_REFERER'] . "\r\n"; $msg .= "- Demande : " . $_SERVER['REQUEST_URI'] . "\r\n"; $msg .= "- IP : " . $_SERVER['REMOTE_ADDR'] . "\r\n"; $msg .= "- Identifiant : " . $_SERVER["REDIRECT_REMOTE_USER"] . "\r\n"; $msg .= "- Configuration : " . $_SERVER['HTTP_USER_AGENT'] . "\r\n\n"; $msg .= "-----\r\n\n"; ?> <div id="error"> <div align="center"> <IMG alt="/!\" src="http://<?php echo $_SERVER['SERVER_NAME']; ?>/pict/warning.gif" />&nbsp;&nbsp;&nbsp;Attention !&nbsp;&nbsp;&nbsp;<IMG alt="/!\" src="http://<?php echo $_SERVER['SERVER_NAME']; ?>/pict/warning.gif" /> <br /> Vous n'avez pas (ou plus) acc&egrave;s &agrave; cette page !<br /> <br /> </div> <table align="center" cellspacing="2" cellpadding="2" width="450" border="0"> <tr> <td width="125"><u>Serveur d'origine :</u></td> <td align="left"><?php echo $_SERVER['HTTP_HOST']; ?></td> </tr> <tr> <td width="125"><u>Provenance :</u></td> <td align="left"><?php echo $_SERVER['HTTP_REFERER']; ?></td> </tr> <tr> <td width="125"><u>Page demand&eacute;e :</u></td> <td align="left"><?php echo $_SERVER['REQUEST_URI']; ?></td> </tr> <tr> <td width="125"><u>Votre adresse IP :</u></td> <td align="left"><?php echo $_SERVER['REMOTE_ADDR']; ?></td> </tr> <tr> <td width="125"><u>Identifiant soumis :</u></td> <td align="left"><?php echo $_SERVER["REDIRECT_REMOTE_USER"]; ?></td> </tr> <tr> <td width="125"><u>Votre configuration :</u></td> <td align="justify"><?php echo $_SERVER['HTTP_USER_AGENT']; ?></td> </tr> </table> <br /> <img src="http://<?php echo $_SERVER['SERVER_NAME']; ?>/pict/puce.gif" width="11" height="11" border="0" align="middle" />Il se peut que votre autorisation d'acc&egrave;s ait &eacute;t&eacute; supprim&eacute;e par notre &eacute;quipe (droit, maintenance, mise &agrave; jour, ...), et dans ce cas, veuillez vous rapprocher du <a href="&#109&#97&#105&#108&#116&#111&#58&#119&#100&#97&#64&#119&#100&#97&#45&#102&#114&#46&#111&#114&#103?subject=Message d'erreur 401.&body=Bonjour,%0d%0a%0aMon identifiant&nbsp;"<?php echo $_SERVER["REDIRECT_REMOTE_USER"]; ?>"&nbsp;n'est&nbsp;plus&nbsp;reconnu.">bureau de l'association</a> pour de plus amples d&eacute;tails.<br /> <img src="http://<?php echo $_SERVER['SERVER_NAME']; ?>/pict/puce.gif" width="11" height="11" border="0" align="middle" />Il se peut aussi que vous n'en ayez jamais obtenue.<br /> <?php mail("[email protected]",$titre,$msg);// envoi du message ?> <div align="center"><br />Dans les deux cas, un mail automatique vient d'&ecirc;tre envoy&eacute; au Webmaster de l'association avec les informations r&eacute;colt&eacute;es ci-dessus, en noir).<br /><br />- <a href="Javascript:history.go(-1)">Retour &agrave; la page pr&eacute;c&eacute;dente</a> -</div> </div> (...)
et le 404.php :

Code : Tout sélectionner

(...) <?php if ( !$_SERVER['HTTP_REFERER']) { $_SERVER['HTTP_REFERER'] = 'URL Directe.'; } $titre = "Erreur 404 sur le site"; $msg = "Infos techniques :\r\n\n"; $msg .= "- Serveur : " . $_SERVER['HTTP_HOST'] . "\r\n"; $msg .= "- Provenance : " . $_SERVER['HTTP_REFERER'] . "\r\n"; $msg .= "- Demande : " . $_SERVER['REQUEST_URI'] . "\r\n"; $msg .= "- IP : " . $_SERVER['REMOTE_ADDR'] . "\r\n"; $msg .= "- Configuration : " . $_SERVER['HTTP_USER_AGENT'] . "\r\n\n"; $msg .= "-----\r\n\n"; ?> <div id="error"> <div align="center"> <IMG alt="/!\" src="http://<?php echo $_SERVER['SERVER_NAME']; ?>/pict/warning.gif" />&nbsp;&nbsp;&nbsp;Attention !&nbsp;&nbsp;&nbsp;<IMG alt="/!\" src="http://<?php echo $_SERVER['SERVER_NAME']; ?>/pict/warning.gif" /> <br /> La page que vous venez de demander n'existe pas (ou plus) !<br /> <br /> </div> <table align="center" cellspacing="2" cellpadding="2" width="450" border="0"> <tr> <td width="125"><u>Serveur d'origine :</u></td> <td align="left"><?php echo $_SERVER['HTTP_HOST']; ?></td> </tr> <tr> <td width="125"><u>Provenance :</u></td> <td align="left"><?php echo $_SERVER['HTTP_REFERER']; ?></td> </tr> <tr> <td width="125"><u>Page demand&eacute;e :</u></td> <td align="left"><?php echo $_SERVER['REQUEST_URI']; ?></td> </tr> <tr> <td width="125"><u>Votre adresse IP :</u></td> <td align="left"><?php echo $_SERVER['REMOTE_ADDR']; ?></td> </tr> <tr> <td width="125"><u>Votre configuration :</u></td> <td align="justify"><?php echo $_SERVER['HTTP_USER_AGENT']; ?></td> </tr> </table> <br /> <img src="http://<?php echo $_SERVER['SERVER_NAME']; ?>/pict/puce.gif" width="11" height="11" border="0" align="middle" />Il se peut que cette page ait &eacute;t&eacute; retir&eacute;e par notre &eacute;quipe (maintenance, mise &agrave; jour, ...), et dans ce cas, veuillez accepter nos excuses pour la g&egrave;ne occasionn&eacute;e et n'h&eacute;sitez pas &agrave; retenter l'op&eacute;ration dans quelques heures.<br /> <img src="http://<?php echo $_SERVER['SERVER_NAME']; ?>/pict/puce.gif" width="11" height="11" border="0" align="middle" />Il se peut aussi que celle-ci n'ait jamais exist&eacute;e.<br /> <?php mail("[email protected]",$titre,$msg);// envoi du message ?> <div align="center"><br />Dans les deux cas, un mail automatique vient d'&ecirc;tre envoy&eacute; au Webmaster de l'association avec les informations r&eacute;colt&eacute;es ci-dessus, en noir).<br /><br />- <a href="Javascript:history.go(-1)">Retour &agrave; la page pr&eacute;c&eacute;dente</a> -</div> </div> (...)
Et bien, je reçois quotidiennement plus de 100 mails par jours du genre, pour les 401 :
Infos techniques :

- Serveur : monurl
- Provenance : URL Directe.
- Demande : /wiki-2014/includes/FileDeleteForm.php
- IP : 66.249.64.73
- Identifiant : Aucun !
- Configuration : Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

-----
Et pour les 404 :
Infos techniques :

- Serveur : monurl
- Provenance : URL Directe.
- Demande : /index.php?page=debarrasrobots.txt
- IP : 157.55.32.99
- Configuration : Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)

-----
La plupart du temps, les URLs demandées n'existent même pas dans mon arborescence, et n'ont jamais existé.

Ou traine ces infos ?
Comment parer ce genre de routine ?

Merci de votre aide...

Eléphant du PHP | 103 Messages

20 mars 2014, 14:58

Désolé du "up", mais... Aucune idée ?

Je viens de recevoir plus de 200 mails dans la nuit identiques...

Eléphanteau du PHP | 13 Messages

21 mars 2014, 21:48

Bonsoir,

La plupart du temps, ce sont des programmes automatisés (bots) qui testent les différentes URLs possibles sur un site dans le but de trouver un espace d'administration ou autre. Après il y a aussi les moteurs de recherches, les simples utilisateurs. Que voulez-vous spécifiquement ?

Pour les e-mails, vous risquez d'en recevoir un paquet, vu que vous êtes notifiés pour tous les types d'erreurs les plus courants. A la rigueur, enregistrez-les dans une BDD si vous avez assez de place (avec un script complet qui pourrait distinguer les URLs les plus demandés, etc), sinon, vous risquez juste de vous faire spammer effectivement.

Eléphant du PHP | 103 Messages

24 mars 2014, 01:14

Merci d'avoir pris le temps de me répondre.

En effet, j'avoue que l'idée d'une BDD me travaille.
Mais je ne saurais absolument pas comment faire cela.
Je dispose d'une vingtaine de Bases MySQL dispo. chez mon hébergeur.

Je reçois actuellement dans les 70/100 mails par jours. J'ai fait une règle de messagerie, mais c'est lassant à la longue et improductif.

Qu'en dites-vous ?

Eléphanteau du PHP | 13 Messages

24 mars 2014, 10:03

Bien si vous avez réellement envie d'être notifié pour ce genre d'erreurs, oui, faites un espace qui pourra vous informer de tout ça de manière structurée, plutôt qu'en vous spammant. Au niveau de la réalisation, il n'y a trop rien de compliqué (bon c'est sûr, après il faut aller voir le doc PHP et les tutoriels), mais c'est comme ça qu'on apprends. :)

Eléphant du PHP | 103 Messages

24 mars 2014, 10:40

Je n'ai absolument pas le début de la potentielle réalisation de ce projet, je ne suis pas du tout programmeur.

Merci néanmoins de l'idée. Si je vois passer un script prêt à l'emploi sur le net, j'essayerais.

Eléphanteau du PHP | 13 Messages

24 mars 2014, 11:24

A défaut de vouloir apprendre alors, vous pouvez aller sur des sites professionnels qui - contre rémunération - vous développerons du sur-mesure. :P

Eléphant du PHP | 103 Messages

24 mars 2014, 11:29

Ce n'est pas l'envie de ne pas apprendre, c'est surtout que je n'en suis pas capable. Ces logiques mathématiques sont de vrais énigmes pour moi.
Je gère seul ce site depuis 1996, et mes connaissances se limitent à du copié/collé.

Je trouverais un script surement, il suffit d'être patient.