Ist es möglich, eine automatische E-Mail mit Details zur angeforderten Seite an den Webmaster zu senden, wenn ein Besucher auf eine 500 interne Server-Fehlerseite stößt?
Auf diese Weise kann der Webmaster schneller handeln, um das Problem zu lösen. Dies ist eine allgemeine Frage, daher ist es irrelevant, welche Plattform verwendet wird.
email
error-reporting
http-code-500
Tony Bolero
quelle
quelle
Antworten:
Ja es ist möglich. Sie müssen nur feststellen, ob es sich bei dem Webserver um IIS oder Apache handelt, und dann können Sie festlegen, dass bei jedem 500 eine benutzerdefinierte Seite angezeigt wird (die den Code enthält, mit dem die gewünschten Details vom Benutzer erfasst und per E-Mail an Sie gesendet werden) Fehler ist aufgetreten.
Für Apache zum Beispiel ist es wirklich einfach. Erstellen Sie einfach a (oder fügen Sie es hinzu, falls vorhanden)
.htaccess
und verwenden Sie die folgende Regel, um Ihr benutzerdefiniertes Fehlerdokument einzurichten:quelle
Das Senden einer E-Mail mit jedem Fehler über eine benutzerdefinierte Fehlerseite funktioniert möglicherweise nicht, wenn das Problem mit PHP zusammenhängt: Ihre benutzerdefinierte Seite wird möglicherweise auch nicht ausgeführt, sodass die E-Mail nicht ausgeht. Außerdem erhalten Sie eine E-Mail pro Fehler, was eine Flut sein könnte.
Ich würde stattdessen vorschlagen, eine Form des Protokoll-Scannens zu implementieren: Lassen Sie die Protokolldateien jeden Tag oder alle paar Stunden von einem Cron-Job (oder einer geplanten Aufgabe unter Windows) auf Fehler scannen und senden Sie eine Zusammenfassung aller seit der letzten Überprüfung gefundenen Informationen an den entsprechenden Administrator (s). Sie können Ihr Protokollprüfungsskript auch dazu bringen, einige andere Dinge zu tun, z. B. sicherzustellen, dass der Webserverdienst (und alle Datenbankdienste usw.) ausgeführt werden, wenn auch nur aus Gründen der Paranoia. Nicht zuletzt kann eine E-Mail pro Berichtszeitraum andere HTTP-Fehlercodes (401, 404, ...) und andere in den Protokollen enthaltene Elemente abdecken. Wenn Sie dies tun, senden Sie die E-Mail-Nachricht immer, auch wenn nichts falsch ist : Auf diese Weise wissen Sie, ob Ihr Scan-Skript nicht ausgeführt werden konnte, weil Sie keine Nachrichten mehr erhalten (andernfalls könnte keine Nachricht bedeuten, dass alles in Ordnung ist oder das Schadensmeldegerät ist beschädigt).
quelle
Ja, senden Sie für jeden Fehler eine E-Mail. Es ist auch eine gute Idee, so viele Informationen wie möglich als Teil der E-Mail zu senden. Denken Sie an das Ergreifen:
Dies ist sehr hilfreich für Debugging-Zwecke. Es ist trivial, diese Informationen in klassischem ASP und ASP.NET über die Objekte Request und Session abzurufen.
Sie haben nur keinen Fehler auf Ihrer benutzerdefinierten Fehlerseite, sonst wird der Webserver ausgeflippt.
quelle
Ja, sehr gut möglich. Mit Ausnahme von E-Mails können Sie auch das Webserver-Protokoll überprüfen.
Ich schlage vor, nicht alle 500 E-Mails zu senden. Andernfalls wird Ihre Mailbox überflutet, wenn ein Fehler auftritt. Notieren Sie einfach die Fehler-ID und senden Sie 1 für denselben Fehler auf derselben ID.
quelle
Sie können einen Iframe hinzufügen, der eine PHP von einem anderen Server lädt, dann sendet Ihre Fehlerseite immer Mails.
quelle