PHP-Sicherheit – Fehlerberichterstattung

黄舟
Freigeben: 2023-03-05 22:36:02
Original
1071 Leute haben es durchsucht


Fehlerbericht

Kein Entwickler ist unfehlbar, PHP Die Fehlerberichterstattung Die Funktion unterstützt Sie bei der Identifizierung und Lokalisierung dieser Fehler. Diese von PHP bereitgestellten detaillierten Beschreibungen können auch von böswilligen Angreifern gesehen werden, was nicht gut ist. Es ist wichtig, dass Fehlermeldungen für die Öffentlichkeit unsichtbar sind. Dies ist ganz einfach: Deaktivieren Sie einfach display_errors. Wenn Sie Fehlerinformationen erhalten möchten, können Sie natürlich die Option log_errors aktivieren und den Speicherpfad der Fehlerprotokolldatei in der Option error_log festlegen.

Da die Einstellung der Fehlerberichtsebene dazu führen kann, dass einige Fehler unentdeckt bleiben, müssen Sie error_reporting auf mindestens E_ALL setzen (E_ALL | E_STRICT ist die höchste Einstellung). Geben Sie Vorschläge zur Abwärtskompatibilität an, z. B. Tipps, die nicht empfohlen werden).

Alle Fehlerberichtsebenen können auf jeder Ebene geändert werden. Wenn Sie also ein Shared Hosting verwenden, haben Sie keine Berechtigung zum Ändern von php.ini, httpd.conf oder Wenn Sie Änderungen an Konfigurationsdateien wie .htaccess vornehmen, können Sie Konfigurationsanweisungen auf Fehlerberichtsebene im Programm ausführen:

CODE:

 <?php
 
  ini_set(&#39;error_reporting&#39;, E_ALL | E_STRICT);
  ini_set(&#39;display_errors&#39;, &#39;Off&#39;);
  ini_set(&#39;log_errors&#39;, &#39;On&#39;);
  ini_set(&#39;error_log&#39;,
&#39;/usr/local/apache/logs/error_log&#39;);
 
  ?>
Nach dem Login kopieren


Tipps

http://www.php.cn/ Die Optionskonfiguration von php.ini wird ausführlich erklärt.

PHP ermöglicht Ihnen auch die Übergabe von set_error_handler( ) Funktion gibt Ihre eigene Fehlerbehandlungsfunktion an:

CODE:

 <?php
 
  set_error_handler(&#39;my_error_handler&#39;);
 
  ?>
Nach dem Login kopieren

Das obige Programm spezifiziert Ihre eigene Fehlerbehandlungsfunktion my_error_handler( ); Hier ist ein Beispiel für die tatsächliche Verwendung:

CODE:

 <?php
 
  function my_error_handler($number, $string, $file,
$line, $context)
  {
    $error = "=  ==  ==  ==  ==\nPHP ERROR\n=  ==
 ==  ==  ==\n";
    $error .= "Number: [$number]\n";
    $error .= "String: [$string]\n";
    $error .= "File:   [$file]\n";
    $error .= "Line:   [$line]\n";
    $error .= "Context:\n" . print_r($context, TRUE)
. "\n\n";
 
    error_log($error, 3,
&#39;/usr/local/apache/logs/error_log&#39;);
  }
 
  ?>
Nach dem Login kopieren

Klein Tipp

PHP 5 erlaubt auch Setting_error_handler( ) übergibt den zweiten Parameter, um die Fehlerbedingungen zu begrenzen, unter denen die definierte Fehlerbehandlungsfunktion ausgeführt wird. Erstellen Sie nun beispielsweise eine Funktion zur Behandlung von Fehlern der Warnstufe:

CODE:

 <?php
  set_error_handler(&#39;my_warning_handler&#39;,
E_WARNING);
  ?>
Nach dem Login kopieren

Das Obige ist der Inhalt des PHP-Sicherheitsfehlerberichts Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!