Script maison de génération d'erreur avec envoi d'un e-mail

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


medium69
WRInaute accro
WRInaute accro
 
Messages: 2164
Inscription: Sam Mai 07, 2005 9:36

Script maison de génération d'erreur avec envoi d'un e-mail

Message le Mer Oct 18, 2006 17:13

Comme on me l'a demandé quelque fois déjà, voici le script qui me sert pour l'envoi d'un e-mail lors d'une erreur internet (je vous laisse coder la page d'erreur personnalisé pour votre cas personnel) :

Dans le .htaccess :
Code: Tout sélectionner
ErrorDocument 400 /erreur.php
ErrorDocument 401 /erreur.php
ErrorDocument 403 /erreur.php
ErrorDocument 404 /erreur.php
ErrorDocument 410 /erreur.php
ErrorDocument 500 /erreur.php


Code: Tout sélectionner
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                  = email@levotre.com;
         $subject            = 'Erreur internet '.$_SERVER['REDIRECT_STATUS'];
         $message            = $mess;
         $headers            = 'From: noreply@levotre.com'."\r\n".'Reply-To: noreply@levotre.com'."\r\n";
   
         mail($to, $subject, $message, $headers);
         }


edit medium69 : correction du code erroné
Dernière édition par medium69 le Mer Oct 18, 2006 20:17, édité 1 fois.


dd32
Modérateur
Modérateur
 
Messages: 3261
Inscription: Ven Sep 09, 2005 10:21

Message le Mer Oct 18, 2006 17:18

Merci beaucoup :wink:

Cependant c'est quoi ceci ?
Code: Tout sélectionner
'(cltreq.asp|owssvr.dll|_vti)'


medium69
WRInaute accro
WRInaute accro
 
Messages: 2164
Inscription: Sam Mai 07, 2005 9:36

Message le Mer Oct 18, 2006 17:23

dd32 a écrit:Merci beaucoup :wink:

Cependant c'est quoi ceci ?
Code: Tout sélectionner
'(cltreq.asp|owssvr.dll|_vti)'


Des erreurs générées par certains navigateurs.

voilà de quoi te documenter :
:arrow: http://www.toulouse-renaissance.net/c_o ... _agent.htm
:arrow: http://www.webrankinfo.com/forums/viewtopic_4040.htm


Linkid
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 224
Inscription: Mar Mai 09, 2006 14:21

Message le Mer Oct 18, 2006 17:31

Sympa le script.... j'en ai un moi aussi et j'en suis très content !
Par contre, petit conseil :
- les robots passent obligatoirement par la page robots.txt pour vérifier leurs éventuelles interdictions... Donc si vous ne voulez pas recevoir une tonne de mail (ce qui est mon cas...), alors pensez à créer un fichier robots.txt vide si vous n'en avez pas... sinon, vous pouvez toujours ne pas en créer pour voir quels robots viennent sur votre site ! Ce qui m'est d'ailleurs assez utile...

Sinon, juste comme ça, je reçoit environ 150 mails en une soirée, alors je vous conseille aussi soit de créer une nouvelle boite email qui stocke vos erreurs, soit vous devriez vider souvent votre boite email ! :D Et pour ceux qui ont la chance de posséder une adresse email, alors tant mieux pour vous car gmail regroupe environ 60 messages ou plus en un seul mail... cool nan !


medium69
WRInaute accro
WRInaute accro
 
Messages: 2164
Inscription: Sam Mai 07, 2005 9:36

Message le Mer Oct 18, 2006 17:37

Linkid a écrit:Sympa le script.... j'en ai un moi aussi et j'en suis très content !
Par contre, petit conseil :
- les robots passent obligatoirement par la page robots.txt pour vérifier leurs éventuelles interdictions... Donc si vous ne voulez pas recevoir une tonne de mail (ce qui est mon cas...), alors pensez à créer un fichier robots.txt vide si vous n'en avez pas... sinon, vous pouvez toujours ne pas en créer pour voir quels robots viennent sur votre site ! Ce qui m'est d'ailleurs assez utile...


Je confirme :!:

J'avais fais l'erreur au début de ne pas en avoir et c'est effarant le nombre d'email que l'on peut recevoir dans ce cas.

Cela dite, on peut tout à fait maitriser dans quel cas on reçoit ou ne reçoit on pas de mail.

L'intérêt de ce script permet de détecté très facilement d'où viennent les erreur (de son site ou d'un référant).

J'ai aussi un script sur le même principe pour m'envoyé des e-mail en cas d'erreurs SQL.

ça permet de détecté de la même manière les éventuelle erreurs et surtout de savoir qu'elle erreur à été générée.

Dans le cas des erreurs SQL, je ne renvois aucune information au visiteur, si ce n'est qu'une erreur est survenue.
ça évite de donner des infos à un éventuel hacker.


TOMHTML
WRInaute accro
WRInaute accro
 
Messages: 3243
Inscription: Mer Aoû 25, 2004 14:05

Message le Mer Oct 18, 2006 17:49

personnellement je n'envoie pas de mails, mais à chaque erreur j'écris des infos (date, IP, navigateur, page demandée, etc) dans un simple fichier texte. C'est bien plus rapide et plus efficace ;)


tom_pascal
WRInaute impliqué
WRInaute impliqué
 
Messages: 278
Inscription: Lun Nov 17, 2003 13:58

Message le Mer Oct 18, 2006 18:13

En gros, on réinvente le error_log d'Apache alors :)


guicara
WRInaute accro
WRInaute accro
 
Messages: 2292
Inscription: Jeu Fév 02, 2006 20:40

Message le Mer Oct 18, 2006 18:40

Le code il faut la placer ou ? Dans le htaccess ?
Merci d'avance pour ce script maison !


medium69
WRInaute accro
WRInaute accro
 
Messages: 2164
Inscription: Sam Mai 07, 2005 9:36

Message le Mer Oct 18, 2006 18:54

guicara a écrit:Le code il faut la placer ou ? Dans le htaccess ?
Merci d'avance pour ce script maison !


La première partie oui...

La seconde, il faut le placé dans une page d'erreur personnalisé.

Je n'indique que la partie qui envoie un e-mail, mais j'affiche aussi un message suivant l'erreur pour le visiteur


TOMHTML
WRInaute accro
WRInaute accro
 
Messages: 3243
Inscription: Mer Aoû 25, 2004 14:05

Message le Mer Oct 18, 2006 19:44

tom_pascal a écrit:En gros, on réinvente le error_log d'Apache alors :)

ouais, surtout quand tu n'y a pas accès...


guicara
WRInaute accro
WRInaute accro
 
Messages: 2292
Inscription: Jeu Fév 02, 2006 20:40

Message le Mer Oct 18, 2006 19:52

TOMHTML a écrit:
tom_pascal a écrit:En gros, on réinvente le error_log d'Apache alors :)

ouais, surtout quand tu n'y a pas accès...


+1 on ne pense jamais assé au mutualiste !
Merci medium69 !


medium69
WRInaute accro
WRInaute accro
 
Messages: 2164
Inscription: Sam Mai 07, 2005 9:36

Message le Mer Oct 18, 2006 20:03

De rien 8)

Je t'ai envoyé un MP concernant un bug sur ton site


guicara
WRInaute accro
WRInaute accro
 
Messages: 2292
Inscription: Jeu Fév 02, 2006 20:40

Message le Mer Oct 18, 2006 20:06

Tu est sur que ton code est corect ?
J'ai des Parse error: parse error, unexpected '@' et autres erreur de partout !


medium69
WRInaute accro
WRInaute accro
 
Messages: 2164
Inscription: Sam Mai 07, 2005 9:36

Message le Mer Oct 18, 2006 20:18

guicara a écrit:Tu est sur que ton code est corect ?
J'ai des Parse error: parse error, unexpected '@' et autres erreur de partout !


J'avais fais une erreur à une ligne (j'utilise des constante) et la syntaxe était mauvaise.

teste de nouveau...


guicara
WRInaute accro
WRInaute accro
 
Messages: 2292
Inscription: Jeu Fév 02, 2006 20:40

Message le Mer Oct 18, 2006 22:02

merci pour tes messages privés,
oui sa marche très bien

Script maison de génération d'erreur avec envoi d'un e-mail

Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités