Accueil > > > ERREUR 404 PERSONNALISÉE
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
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
CHAMPS TIMECHAMPS TIME par vargas
Cliquez pour lire la suite par vargas
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|