Erreur 404 et mail

Olivier Duffez (admin)
Membre du personnel
Je cherche à détecter les erreurs 404 et j'ai des soucis avec l'envoi par mail de la page que l'internaute cherchait à afficher.
Pourtant j'utilise les variables classiques !
J'ai tout essayé avec :
Code:
  $content  = "DATE           : ".date("d/m/Y H:i")."\n";
  $content .= "REMOTE HOST    : ".$_SERVER["REMOTE_HOST"]."\n";
  $content .= "REMOTE ADDR    : ".$_SERVER["REMOTE_ADDR"]."\n";
  $content .= "REQUEST_METHOD : ".$_SERVER["REQUEST_METHOD"]."\n";
  $content .= "REQUEST_URL    : ".$_SERVER['REQUEST_URL']."\n";
  $content .= "REQUEST_URI    : ".$_SERVER['REQUEST_URI']."\n";
  $content .= "QUERY_STRING   : ".$_SERVER["QUERY_STRING"]."\n";
  $content .= "HTTP_REFERER   : ".$_SERVER["HTTP_REFERER"]."\n";
  $content .= "BROWSER        : ".$_SERVER["HTTP_USER_AGENT"]."\n";
  $content .= "REDIRECT_URL   : ".$REDIRECT_URL."\n";
  mail($to, $subject, $content, "From: $from\r\nReply-To: $from\r\n");

mon .htaccess contient
Code:
ErrorDocument 404 https://www.webrankinfo.com/erreur.php
(redirection avec lien absolu)

J'arrive bien à avoir le referer mais pas la page demandée.
Qui a des idées ?
 
WRInaute passionné
Olivier,

C'est une erreur de rediriger une 404 avec un lien absolu, car cela ne retourne pas un header 404 au navigateur.
J'ai fait un essai en demandant la page inexistante: -https://www.webrankinfo.com/totototo.php cela retourne;
Code:
HTTP/1.1 302 Found
Date: Wed, 08 Jan 2003 06:16:29 GMT
Server: Apache
Location: https://www.webrankinfo.com/erreur.php
Connection: close
Content-Type: text/html; charset=iso-8859-1
Le "302 Found" équivaut au "200 OK" mais est dû au fait qu'OVH utilise des clusters, donc pratiquement aucune requête ne retourne "200 OK" comme les pages peuvent venir de n'importe quel "cluster node". (elles apparaissent toutes comme "déplacées temporairement")

Tu devrais plutôt avoir ceci dans ton .htaccess:
Code:
ErrorDocument 404 /erreur.php
qui retournerait l'entête 404 correcte

Dan
 
WRInaute passionné
Suite,

La redirection "full URL" telle que tu pratiques est potentiellement dangereuse pour un site qui n'a pas de fichier "robots.txt".
Comme l'entête retournée n'est pas 404, le fichier affiché pourra, selon les moteurs, être interprété comme un "robots.txt".
Tu imagine ce qui peut se passer s'il contient une ligne contenant "Disable" :wink:

J'ai particulièrement étudié ce sujet car j'ai remarqué qu'à plusieurs reprises (et sur plusieurs sites hébergés chez OVH), une requête "robots.txt" retourne une erreur 404, malgré que le fichier soit bien présent. As-tu la même chose dans tes logs :?:

Dan
 
Olivier Duffez (admin)
Membre du personnel
ça semble mieux comme ça effectivement.
j'avais suivi les conseils de OVH en mettant une adresse absolue...
 
WRInaute passionné
C'est mieux, la même requête donne maintenant:
Code:
HTTP/1.1 404 Not Found
Date: Wed, 08 Jan 2003 07:42:22 GMT
Server: Apache
X-Powered-By: PHP/4.2.3
Connection: close
Content-Type: text/html

A+

Dan
 
Olivier Duffez (admin)
Membre du personnel
je vais pouvoir compter combien de visites viennent de favoris (donc sous IE) car je n'ai pas d'icone favicon.ico et ça génère un 404...
 
WRInaute passionné
Je pense que les appels au fichier "favicon.ico" viennent de l'ajout aux favoris et non de l'accès à ton site d'après un lien existant dans les favoris. (I.E)

Comme j'analyse bien mes fichiers stats, j'ai déjà vu des appels au fichier "favicon.ico" avec un "REFERRER", ce qui ne serait pas le cas s'il s'agissait d'un accès direct depuis un favori (il n'y aurait pas de "REFERRER") :wink:

Tu enregistrera donc les visiteurs qui mettent ton site en favori, et non ceux qui y accèdent par leur menu "Favoris".

Dan

PS: contrairement à ce qu'on croit, il n'y a pas que I.E., la preuve - il y a même un referrer :wink: :

Tuesday, Nov. 12, 2002 at 1:40 p.m. 8 minutes, 44 seconds 194.167.31.100 -http://immo.wildcroft.com/ /favicon.ico /refer.php Netscape Navigator 7.x Windows 2000 22

Les champs sont, dans l'ordre:
Date
Length of Visit
Host
Referrer
Entry Page
Exit Page
Browser
Platform
Views

En clair, le visiteur (NS 7.0) venant de ma page d'accueil a suivi le lien "référencement" et a décidé que c'était chouette et que cela méritait un favori :lol:
 
WRInaute discret
non
maintenant net7 et mozilla par defaut vont sytematiquement pour chaque page chercher le favicon.ico et l'affiche dans la barre d'adresse
on peu bien sur desactiver cette fonction

ne vous emballez pas, le favicon n'est pas forcement synomime de favoris
et surtout si mozilla se democratize

ou alors a vous de trier unikement les acces favicon des internautezs ki utilize IE
 
Nouveau WRInaute
404 et mail : fichiers bizarres

J'ai installé un système de mail sur la page d'erreur 404.
C'est très utile pour être sûr qu'il n'y a pas de lien brisé.

Mais j'ai dû filtrer parce que j'avais plein de mail arrivant, mais qui ne correspondaient pas à grand chose :
les pages recherchées n'existent en fait pas. J'avais ça avec le robots.txt, mais depuis que j'en ai placé un, ça ne pose plus de problème.

Par contre, j'ai par exemple souvent les pages :
/_vti_bin/shtml.exe/_vti_rpc
/_vti_inf.html
/_vti_bin/shtml.exe/_vti_rpc
/MSOffice/cltreq.asp
/_vti_bin/owssvr.dll

Ce doit être des fichiers créés automatiquement, lorsqu'on crée des pages avec Front Page, ça m'inquiète pas.

ou quelqu'un qui cherchait un fichier formmail, qui je le sais depuis, est piraté pour envoyer des mail via la page. M'en fout, je l'ai enlevé.
/FormMail.cgi

ou des pages
/a/Control(\'
(où /a/ est le premier répertoire).

Par contre, j'ai souvent des pages recherchées du type :
/quelque chose_fichiers/menu.htm

"quelque chose", c'est pour l'exemple. C'est souvent des requêtes de recherche ("formation bruxelles, emploi etc.), mais ça se termine toujours par "_fichiers/menu.htm" ou "_files/menu.htm"
On dirait une recherche via un moteur sur le site ...

Quelqu'un sait ce à quoi ça correspond ?
 
WRInaute occasionnel
Salut.
Tiens j'ai ca en javascript et ca te remplie automatiquement l'url du 404

Code:
<SCRIPT LANGUAGE="Javascript">
loc= document.location.href; </SCRIPT>
a mettre dans head de la page 404

dans body tu met ca...

Code:
<SCRIPT LANGUAGE ="Javascript">
document.write("merci d'envoyer les détails de cette page inconnu au webmaster <A HREF='mailto:webmaster@tonsite.com?subject=404 URL: "+loc+" REFERRER: "+ref"'>web@lol.com</a>");
</SCRIPT>

André :lol:
 
WRInaute passionné
D'ailleurs en parlant d'adresse absoue la nouvelle version php 432 marque un message warning pour qui veut faire

Code:
<?
include (http://www.mondomoaien.org/ficheir.php)
?>

Pour éviter ce message mettez des url relatives ou créer une fonction que je peux vous faire partager.
 
Discussions similaires
Haut