Heim  >  Artikel  >  Backend-Entwicklung  >  Erstellen Sie eine 404-Fehlerseite und senden Sie sie an den Administrator

Erstellen Sie eine 404-Fehlerseite und senden Sie sie an den Administrator

WBOY
WBOYOriginal
2016-08-08 09:33:46753Durchsuche

# Setzen Sie $domain auf Ihren Domainnamen (beachten Sie, dass kein www vorhanden ist)
$domain = "oso.com.cn"; # Legen Sie die URL fest. Beachten Sie, dass kein abschließender Unterstrich /
vorhanden ist $docroot = "http://www.oso.com.cn"; # Legen Sie die Schriftart der Fehlermeldung fest
$fontface = "Verdana"; # Stellen Sie die Schriftgröße der 404-Seite ein
$fontsize = "2";
# Legen Sie die Hintergrundfarbe der 404-Seite fest, die Standardeinstellung ist Weiß
$bgcolor = "#ffffff"
# Legen Sie die Textfarbe fest, die Standardeinstellung ist Schwarz
$textcolor = "#000000";
# Verwenden Sie die Variable $reportlevel, um zu steuern, ob ein Brief an den Netzwerkadministrator
gesendet werden soll # 0 = Es ist überhaupt nicht nötig, eine Nachricht zu senden, hey, wie könnte Teaman da schief gehen
# 1 = E-Mails nur senden, wenn die Seite Ihren DOMAINNAMEN
enthält # 2 = Nachrichten senden, auch wenn die Verbindung zu mir unterbrochen ist, kann es sich um eine benutzerfreundliche Seite handeln
$reportlevel = 2; //Dies ist das sicherste

$emailaddress = "webmaster@oso.com.cn"; //Legen Sie die E-Mail-Adresse für den Empfang von Fehlermeldungen fest


Funktion PRint_details()
{
# Fordern Sie Zugriff auf die globalen Variablen an, die wir benötigen
global $fontface, $fontsize, $docroot, $REQUEST_URI, $reportlevel; global $bgcolor, $textcolor;
# Drucken Sie den 404-Fehler im Webformat aus
echo "404 Seite nicht gefunden"; echo ""; echo "

404 Leider habe ich die von Ihnen angeforderte Seite nicht gefunden

"; echo "

"; echo „Oso Network Administrator erinnert Sie daran, dass die von Ihnen angeforderte Seite $docroot$REQUEST_URI nicht existiert“; echo " auf diesem Server.

";
if ($reportlevel != 0)
{
echo "

"; echo „Die Fehlermeldung wurde an den Oso-Netzwerkadministrator gesendet.“; }  

Zurück;
}


#EMAIL-Verarbeitungsfunktion

Funktion send_email()
{
# Fordern Sie Zugriff auf die globalen Variablen an, die wir benötigen
global $REQUEST_URI, $HTTP_REFERER, $emailaddress, $REMOTE_ADDR, $docroot;
# Passen Sie die gesendete Nachricht an, z. B. Zeit, Ort usw.
$today = getdate();
$month = $today[mon]; $mday = $today[mday]; $year = $today[year]; $hours = $today[hours]; $minutes = $today[minutes]; $errortime = "$month/$mday/$year at $hours:$minutes"

# Erstellen Sie den Text der E-Mail-Nachricht
$message .= „404-FehlerberichtnnEin 404-Fehler wurde von $REMOTE_ADDR festgestellt“; $message .= " on $errortime.nn"; $message .= „Der URI, der den Fehler generiert hat, ist: n$docroot$REQUEST_URInn“; $message .= „Die verweisende Seite war:n$HTTP_REFERERnn“;
# Senden Sie die E-Mail-Nachricht. Dies setzt voraus, dass mail() auf Ihrem System funktioniert Mail("$emailaddress", "404 Error Report", $message, "From: $emailaddress"); //Okay, sende den Brief
 
Zurück;
}


# Das Folgende basiert auf der Einstellung der Variable $reportlevel, ob gesendet werden soll oder nicht.
print_details();

# Sehen Sie, ob wir einen E-Mail-Bericht senden sollen. Wenn ja, tun Sie es if ($reportlevel != 0)                                                                      if ($reportlevel == 1) {                                       If (eregi($domain,$HTTP_REFERER))
Send_email(); }
sonst
send_email();                                    
# Alles erledigt!
beenden;

?>

Oben wird beschrieben, wie Sie eine 404-Fehlerseite erstellen und einen Brief mit den relevanten Inhalten an den Administrator senden. Ich hoffe, dass dies für Freunde hilfreich ist, die an PHP-Tutorials interessiert sind.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn