|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
ERREUR 404 PERSONNALISÉE
Information sur la source
Description
Hello, ceci est ma page d'erreur 404 (démo : http://diabloporc.free.fr/404040404/), je vous la donne gracieusement :P vous pouvez ajouter vos propres messages d'erreurs.
Source
- <?php
- // config client
- $so = $_SERVER['HTTP_USER_AGENT'];
- $windowsxp = preg_match('/windows nt 5.1/i', $so);
- $windowsxp2 = preg_match('/windows xp/i', $so);
- $linux = preg_match('/linux/i', $so);
- $windowsme = preg_match('/win 9x 4.90/i', $so);
- $windowsme2 = preg_match('/windows me/i', $so);
- $windows2k = preg_match('/windows nt 5.0/i', $so);
- $windows2kb = preg_match('/windows 2000/i', $so);
- $windowsnt = preg_match('/windows nt 3.1/i', $so);
- $windowsnt2 = preg_match('/windows nt 3.5.0/i', $so);
- $windowsnt3 = preg_match('/windows nt 3.5.1/i', $so);
- $windowsnt4 = preg_match('/windows nt 4.0/i', $so);
- $windows98 = preg_match('/windows 98/i', $so);
- $windows95 = preg_match('/windows 95/i', $so);
-
- if ($windowsxp == 1 or $windowsxp2 == 1) {
- $OS = 'Windows XP';
- } else if ($linux == 1) {
- $OS = 'Linux';
- } else if ($windowsme == 1 or $windowsme2 == 1) {
- $OS = 'Windows ME';
- } else if ($windows2k == 1 or $windows2kb == 1) {
- $OS = 'Windows 2000';
- } else if ($windowsnt == 1 or $windowsnt2 == 1 or $windowsnt3 == 1 or $windowsnt4 == 1) {
- $OS = 'Windows NT';
- } else if ($windows98 == 1 and $windowsme != 1) {
- $OS = 'Windows 98';
- } else if ($windows95 == 1) {
- $OS = 'Windows 95';
- } else {
- $OS = 'Non identifié';
- }
-
- $b = $_SERVER['HTTP_USER_AGENT'];
- $ie50 = preg_match('/MSIE 5.0/i', $b);
- $ie55 = preg_match('/MSIE 5.5/i', $b);
- $ie60 = preg_match('/MSIE 6.0/i', $b);
- $opera = preg_match('/opera/i', $b);
-
- if ($ie40 == 1) {
- $browser = 'Internet Explorer 4.0';
- } else if ($ie50 == 1) {
- $browser = 'Internet Explorer 5.0';
- } else if ($ie55 == 1) {
- $browser = 'Internet Explorer 5.5';
- } else if ($ie60 == 1) {
- $browser = 'Internet Explorer 6.0';
- } else if ($opera == 1) {
- $browser = 'Opera';
- } else {
- $browser = 'Non identifié';
- }
- $ip_client = (getenv('HTTP_X_FORWARDED_FOR') ? getenv('HTTP_X_FORWARDED_FOR') : getenv('REMOTE_ADDR'));
- $dns = gethostbyaddr($ip_client);
- if($dns==''){$dns='Non identifiée';}
- $date = date(dmy);
- $heure = date(His);
- $errors = array();
-
- $errors[0]='001 $OS chargé - Système en danger.';
- $errors[1]='002 Pas d\'erreur - Pas encore.';
- $errors[2]='003 Erreur de Lien Dynamique - Votre erreur est maintenant dans tous les fichiers.';
- $errors[3]='004 Erreur erronée - Rien ne va mal.';
- $errors[4]='005 Tentative de multitâche - Système désorienté.';
- $errors[5]='006 Erreur méchante - Desqview a été détecté sur l\'unité de disque.';
- $errors[6]='007 Erreur de coût du système - Somme dépensée insuffisante pour le matériel.';
- $errors[7]='008 Fenêtre cassée - Recherche de débris de verre.';
- $errors[8]='009 Horrible bug rencontré - Dieu seul sait ce qui a pu arriver.';
- $errors[9]='00A Débordement de littérature promotionnelle - Boîte à lettres pleine.';
- $errors[10]='00B Espace disque insuffisant - Libérez au moins 50 Go.';
- $errors[11]='00C Erreur de mémoire - Il en faut plus. Plus ! Plus ! Encore plus !';
- $errors[12]='00D Fermeture de la fenêtre - Ne pas regarder dehors.';
- $errors[13]='00E Ouverture de la fenêtre - Ne pas regarder à l\'intérieur.';
- $errors[14]='00F Erreur inconnue - Veuillez nous dire comment elle est apparue.';
- $errors[15]='010 Réservée pour les erreurs futures que feront nos développeurs.';
- $errors[16]='011 Erreur d\'erreur : Erreur inconnue';
- $errors[17]='012 Erreur : pilote du CD-Rom introuvable, insérez le CD de $OS pour continuer.';
- $errors[18]='013 Erreur inattendue - Hein ?';
- $errors[19]='014 Clavier verrouillé - Essayez n\'importe quoi.';
- $errors[20]='018 Erreur non récupérable - Le système a été détruit.<br> Achetez-en un nouveau. L\'ancienne licence de $OS n\'est plus du tout valable.';
- $errors[21]='019 Erreur utilisateur - Ce n\'est pas notre faute !<br> C\'est pas vrai ! Non ! C\'est de la votre !';
- $errors[22]='01A Réécriture du système d\'exploitation<br> Veuillez réinstaller tous vos logiciels. Nous sommes sincèrement désolés.';
- $errors[23]='01B Erreur illégale - Vous n\'êtes pas autorisé à avoir cette erreur.<br> La prochaine fois vous serez sanctionné pour celà.';
- $errors[24]='01C Erreur d\'incertitude - Il se peut que l\'incertitude soit insuffisante.';
- $errors[25]='01D Système planté - Nous sommes incapables de comprendre notre propre code.';
- $errors[26]='01E Erreur d\'horloge - Veuillez patienter... Veuillez patienter...<br> Veuillez patienter... Veuillez patienter... Veuillez patienter...';
- $errors[27]='01F Réservée pour les erreurs futures que feront nos développeurs.';
- $errors[28]='020 Erreur dans l\'enregistrement des codes d\'erreurs<br> Les erreurs restantes seront perdues.';
- $errors[29]='042 Erreur liée à un Virus - Un virus a été activé dans une boîte de commandes DOS.<br> Le virus requiert $OS de toutes façons.<br> Toutes les tâches en cours seront automatiquement fermées et le virus sera réactivé.';
- $errors[30]='079 Souris non trouvée - Le pilote de souris n\'a pas été installé.<br> Veuillez appuyer sur le bouton gauche de la souris pour continuer.';
- $errors[31]='103 Erreur de débordement de la file d\'attente - Trop d\'erreurs sont survenues.<br> Les prochaines erreurs ne seront ni affichées ni sauvegardées.';
- $errors[32]='678 Erreur Ainsi se termine votre session de $OS.<br> Voulez-vous jouer à un autre jeu ?';
- $errors[33]='683 Erreur: temps expiré<br> L\'utilisateur s\'est endormi en attendant que le système termine la procédure de démarrage.';
- $errors[34]='815 Mémoire insuffisante - Seulement 503125830 octets disponibles.';
- $errors[35]='927 Démarrage de $OS. Repassez demain.';
- $errors[36]='999 Adresse IP $ip_client en dehors des limites. Nouvelle adresse attribuée : 127.0.0.1';
- $errors[37]='666 Votre fournisseur d\'acces $dns est en liquidation judiciaire.<br> Veuillez vous présenter au tribunal le plus proche.';
- $rdm = ceil(rand(0,37));
-
- ?>
-
- <HTML>
- <HEAD>
- <TITLE>ERREUR 404</TITLE>
- </HEAD>
-
- <BODY TEXT="#FFFFFF" BGCOLOR="#000099" LINK="#FFFFFF" VLINK="#FFFFFF" ALINK="#33CCFF">
- <BR> <BR> <BR>
-
- <CENTER><TABLE BORDER=0 COLS=1 WIDTH="10%" BGCOLOR="#C0C0C0" >
-
- <TR>
-
- <TD align=center><TT><FONT COLOR="#330033"><? echo($OS); ?></FONT></TT></TD>
-
- </TR>
-
- </TABLE></CENTER>
-
- <br>
- <table border=0 width=60% align=center>
- <tr>
- <td align=left>
- <pre>
- Une erreur <b>404</b> est survenue à l'adresse <? echo($ip_client); ?> dans VxD DBP(<? echo($REMOTE_PORT); ?>) +<br>
- <? echo($date); ?>. Ceci est du à quelquechose de louche dans <? echo($browser); ?><br>
- <? echo($heure); ?>. Il est impossible de continuer normalement(<? echo($dns); ?>)<br>
- 000000. Contactez l'<a href="mailto:VOTREMAIL@VOTREMAIL.COM?subject=404"><b>administrateur</b></a> rapidement et retournez en <a href="javascript:history.go(-1)"><b>arriere</b></a>.
- <br>
- <? echo($errors[$rdm]); ?>
- </pre>
- </td>
- </tr>
- </table>
-
- </BODY>
-
- </HTML>
<?php
// config client
$so = $_SERVER['HTTP_USER_AGENT'];
$windowsxp = preg_match('/windows nt 5.1/i', $so);
$windowsxp2 = preg_match('/windows xp/i', $so);
$linux = preg_match('/linux/i', $so);
$windowsme = preg_match('/win 9x 4.90/i', $so);
$windowsme2 = preg_match('/windows me/i', $so);
$windows2k = preg_match('/windows nt 5.0/i', $so);
$windows2kb = preg_match('/windows 2000/i', $so);
$windowsnt = preg_match('/windows nt 3.1/i', $so);
$windowsnt2 = preg_match('/windows nt 3.5.0/i', $so);
$windowsnt3 = preg_match('/windows nt 3.5.1/i', $so);
$windowsnt4 = preg_match('/windows nt 4.0/i', $so);
$windows98 = preg_match('/windows 98/i', $so);
$windows95 = preg_match('/windows 95/i', $so);
if ($windowsxp == 1 or $windowsxp2 == 1) {
$OS = 'Windows XP';
} else if ($linux == 1) {
$OS = 'Linux';
} else if ($windowsme == 1 or $windowsme2 == 1) {
$OS = 'Windows ME';
} else if ($windows2k == 1 or $windows2kb == 1) {
$OS = 'Windows 2000';
} else if ($windowsnt == 1 or $windowsnt2 == 1 or $windowsnt3 == 1 or $windowsnt4 == 1) {
$OS = 'Windows NT';
} else if ($windows98 == 1 and $windowsme != 1) {
$OS = 'Windows 98';
} else if ($windows95 == 1) {
$OS = 'Windows 95';
} else {
$OS = 'Non identifié';
}
$b = $_SERVER['HTTP_USER_AGENT'];
$ie50 = preg_match('/MSIE 5.0/i', $b);
$ie55 = preg_match('/MSIE 5.5/i', $b);
$ie60 = preg_match('/MSIE 6.0/i', $b);
$opera = preg_match('/opera/i', $b);
if ($ie40 == 1) {
$browser = 'Internet Explorer 4.0';
} else if ($ie50 == 1) {
$browser = 'Internet Explorer 5.0';
} else if ($ie55 == 1) {
$browser = 'Internet Explorer 5.5';
} else if ($ie60 == 1) {
$browser = 'Internet Explorer 6.0';
} else if ($opera == 1) {
$browser = 'Opera';
} else {
$browser = 'Non identifié';
}
$ip_client = (getenv('HTTP_X_FORWARDED_FOR') ? getenv('HTTP_X_FORWARDED_FOR') : getenv('REMOTE_ADDR'));
$dns = gethostbyaddr($ip_client);
if($dns==''){$dns='Non identifiée';}
$date = date(dmy);
$heure = date(His);
$errors = array();
$errors[0]='001 $OS chargé - Système en danger.';
$errors[1]='002 Pas d\'erreur - Pas encore.';
$errors[2]='003 Erreur de Lien Dynamique - Votre erreur est maintenant dans tous les fichiers.';
$errors[3]='004 Erreur erronée - Rien ne va mal.';
$errors[4]='005 Tentative de multitâche - Système désorienté.';
$errors[5]='006 Erreur méchante - Desqview a été détecté sur l\'unité de disque.';
$errors[6]='007 Erreur de coût du système - Somme dépensée insuffisante pour le matériel.';
$errors[7]='008 Fenêtre cassée - Recherche de débris de verre.';
$errors[8]='009 Horrible bug rencontré - Dieu seul sait ce qui a pu arriver.';
$errors[9]='00A Débordement de littérature promotionnelle - Boîte à lettres pleine.';
$errors[10]='00B Espace disque insuffisant - Libérez au moins 50 Go.';
$errors[11]='00C Erreur de mémoire - Il en faut plus. Plus ! Plus ! Encore plus !';
$errors[12]='00D Fermeture de la fenêtre - Ne pas regarder dehors.';
$errors[13]='00E Ouverture de la fenêtre - Ne pas regarder à l\'intérieur.';
$errors[14]='00F Erreur inconnue - Veuillez nous dire comment elle est apparue.';
$errors[15]='010 Réservée pour les erreurs futures que feront nos développeurs.';
$errors[16]='011 Erreur d\'erreur : Erreur inconnue';
$errors[17]='012 Erreur : pilote du CD-Rom introuvable, insérez le CD de $OS pour continuer.';
$errors[18]='013 Erreur inattendue - Hein ?';
$errors[19]='014 Clavier verrouillé - Essayez n\'importe quoi.';
$errors[20]='018 Erreur non récupérable - Le système a été détruit.<br> Achetez-en un nouveau. L\'ancienne licence de $OS n\'est plus du tout valable.';
$errors[21]='019 Erreur utilisateur - Ce n\'est pas notre faute !<br> C\'est pas vrai ! Non ! C\'est de la votre !';
$errors[22]='01A Réécriture du système d\'exploitation<br> Veuillez réinstaller tous vos logiciels. Nous sommes sincèrement désolés.';
$errors[23]='01B Erreur illégale - Vous n\'êtes pas autorisé à avoir cette erreur.<br> La prochaine fois vous serez sanctionné pour celà.';
$errors[24]='01C Erreur d\'incertitude - Il se peut que l\'incertitude soit insuffisante.';
$errors[25]='01D Système planté - Nous sommes incapables de comprendre notre propre code.';
$errors[26]='01E Erreur d\'horloge - Veuillez patienter... Veuillez patienter...<br> Veuillez patienter... Veuillez patienter... Veuillez patienter...';
$errors[27]='01F Réservée pour les erreurs futures que feront nos développeurs.';
$errors[28]='020 Erreur dans l\'enregistrement des codes d\'erreurs<br> Les erreurs restantes seront perdues.';
$errors[29]='042 Erreur liée à un Virus - Un virus a été activé dans une boîte de commandes DOS.<br> Le virus requiert $OS de toutes façons.<br> Toutes les tâches en cours seront automatiquement fermées et le virus sera réactivé.';
$errors[30]='079 Souris non trouvée - Le pilote de souris n\'a pas été installé.<br> Veuillez appuyer sur le bouton gauche de la souris pour continuer.';
$errors[31]='103 Erreur de débordement de la file d\'attente - Trop d\'erreurs sont survenues.<br> Les prochaines erreurs ne seront ni affichées ni sauvegardées.';
$errors[32]='678 Erreur Ainsi se termine votre session de $OS.<br> Voulez-vous jouer à un autre jeu ?';
$errors[33]='683 Erreur: temps expiré<br> L\'utilisateur s\'est endormi en attendant que le système termine la procédure de démarrage.';
$errors[34]='815 Mémoire insuffisante - Seulement 503125830 octets disponibles.';
$errors[35]='927 Démarrage de $OS. Repassez demain.';
$errors[36]='999 Adresse IP $ip_client en dehors des limites. Nouvelle adresse attribuée : 127.0.0.1';
$errors[37]='666 Votre fournisseur d\'acces $dns est en liquidation judiciaire.<br> Veuillez vous présenter au tribunal le plus proche.';
$rdm = ceil(rand(0,37));
?>
<HTML>
<HEAD>
<TITLE>ERREUR 404</TITLE>
</HEAD>
<BODY TEXT="#FFFFFF" BGCOLOR="#000099" LINK="#FFFFFF" VLINK="#FFFFFF" ALINK="#33CCFF">
<BR> <BR> <BR>
<CENTER><TABLE BORDER=0 COLS=1 WIDTH="10%" BGCOLOR="#C0C0C0" >
<TR>
<TD align=center><TT><FONT COLOR="#330033"><? echo($OS); ?></FONT></TT></TD>
</TR>
</TABLE></CENTER>
<br>
<table border=0 width=60% align=center>
<tr>
<td align=left>
<pre>
Une erreur <b>404</b> est survenue à l'adresse <? echo($ip_client); ?> dans VxD DBP(<? echo($REMOTE_PORT); ?>) +<br>
<? echo($date); ?>. Ceci est du à quelquechose de louche dans <? echo($browser); ?><br>
<? echo($heure); ?>. Il est impossible de continuer normalement(<? echo($dns); ?>)<br>
000000. Contactez l'<a href="mailto:VOTREMAIL@VOTREMAIL.COM?subject=404"><b>administrateur</b></a> rapidement et retournez en <a href="javascript:history.go(-1)"><b>arriere</b></a>.
<br>
<? echo($errors[$rdm]); ?>
</pre>
</td>
</tr>
</table>
</BODY>
</HTML>
Conclusion
- Dans ce code se trouve la detection d'OS, detection d'adresse IP, de DNS, utilisation d'un array et d'un random. ps : remplacez VOTREMAIL par votre mail ds le source :p - Pour que cette page 404 soit votre page, voici la ligne a ajouter dans votre .htaccess : ErrorDocument 404 http://www.monsite.com/truc/mapage404.php - Pour que cela envoie un mail qd qqn tombe sur la page, ajoutez où vous voulez dans le code php : mail("moi@comsite.com", "Mon Sujet", "Erreur 404 : page "._SERVER["REQUEST_URI"]." non trouvée"); vous pouvez donc supprimer le lien "mailto:"
Historique
- 23 novembre 2004 21:19:21 :
- 23 novembre 2004 22:49:31 :
- ajout (en explikation finale) de la méthode pour mettre votre page 404 perso sur votre site web, et aussi de recevoir un mail si votre hebergeur le permet.
- 24 novembre 2004 13:01:14 :
- Remplacement des " par des '
- 24 novembre 2004 14:23:42 :
- modif de <? en <?php
Sources de la même categorie
Commentaires et avis
|