Ist error_reporting(0)
gleich wie ini_set('display_errors', 0)
? Wenn nicht, was ist der Unterschied?
Ich bin auch an der Sicherheitsseite dieses Codes interessiert? Kann ich ' erreichen, damit böswillige Benutzer damit nicht umgehen können?
Sie sind NICHT die gleichen, aber in Ihrer Verwendung kann das gleiche Ergebnis haben.
error_reporting
ist die Ebene der Berichterstattung, KEINE durch ALLE. Dies bestimmt, welche Arten von Fehlern gemeldet werden (E_NOTICE, E_WARNING, E_ALL, etc ..).
display_errors
gibt an, ob diese Fehler (Ausgabe an Browser, CLI usw.) angezeigt werden sollen, die von 1 gemeldet werden.
Wenn Sie error_reporting(E_ALL)
und ini_set('display_errors', '0')
festlegen, können Sie immer noch alle Fehler in der Protokolldatei anzeigen, die jedoch nicht angezeigt werden.
Mit error_reporting(0)
werden keine Fehler angezeigt oder im Protokoll angezeigt und die Werte von display_errors
sind nicht von Bedeutung.
display_errors
sollte in Ihren Produktionsanwendungen deaktiviert sein, vorzugsweise in php.ini
, so dass Informationen wie Dateipfade, Datenbanknamen und Benutzernamen nicht angezeigt werden. Fehlerberichte, die an das Protokoll gesendet werden, sind von Vorteil und sollten kein Sicherheitsrisiko darstellen.
Tags und Links php error-handling