Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung der Methoden zum Abschirmen zurückgegebener Fehlermeldungen in PHP

Zusammenfassung der Methoden zum Abschirmen zurückgegebener Fehlermeldungen in PHP

PHPz
PHPzOriginal
2023-04-03 11:15:261313Durchsuche

Im Prozess der PHP-Entwicklung werden wir unweigerlich auf einige Programmausführungsfehler stoßen. Zu diesem Zeitpunkt kann die Standardfehlermeldung des Systems Angreifern Möglichkeiten bieten. Daher müssen wir im eigentlichen Entwicklungsprozess Fehlerinformationen abschirmen, um die Sicherheit der Website zu erhöhen. Dieser Artikel bietet Ihnen einige Referenzen, indem er die Methode zum Abschirmen von von PHP zurückgegebenen Fehlerinformationen vorstellt.

  1. Fehlerberichterstattung deaktivieren

PHP bietet eine Methode zum Deaktivieren der Fehlerberichterstattung, das heißt, fügen Sie dem Code die folgende Codezeile hinzu:

error_reporting(0);

Bei Verwendung dieser Methode zeigt PHP keine Fehlerinformationen an, einschließlich Syntaxfehler und Laufzeitfehler. Diese Methode ist einfach und benutzerfreundlich, Entwickler können Fehler jedoch nicht rechtzeitig finden und beheben, sodass sie nur für offiziell gestartete Websites geeignet ist.

  1. Speichern Sie die Fehlerinformationen in der Protokolldatei.

Verwenden Sie diese Methode, um die Fehlerinformationen in der serverseitigen Protokolldatei zu speichern. Der Code lautet wie folgt:

ini_set('log_errors', 'On'); //开启日志记录
ini_set('error_log', '/var/log/php.error.log'); //将错误信息输出到指定路径的日志文件中

Verwenden Sie diese Methode während des Entwicklungsprozesses, um die anzuzeigen Fehlerinformationen, wenn ein Fehler auftritt, um die Fehlerursache schnell zu lokalisieren und zu beheben.

  1. Leiten Sie die Fehlermeldung auf eine benutzerdefinierte Seite um.

Verwenden Sie diese Methode, um die Fehlermeldung auf eine benutzerdefinierte Seite umzuleiten, um eine Blockierung zu erreichen. Der Code lautet wie folgt:

ini_set('display_errors', 'Off');
ini_set('error_reporting', E_ALL);
ini_set('log_errors', 'On');
ini_set('error_log', '/var/log/php.error.log');

function myErrorHandler($errno, $errstr, $errfile, $errline) {
    header('Location: /error.html'); //将错误信息重定向至自定义错误页面
    exit; //终止脚本的执行
}

set_error_handler('myErrorHandler');

Mit dieser Methode kann der Angreifer selbst im Fehlerfall keine nützlichen Informationen sehen, wodurch die Sicherheit der Website verbessert wird.

  1. Verwenden Sie die .htaccess-Datei, um Fehlermeldungen umzuleiten.

Wenn Ihre Website einen Apache-Server verwendet, können Sie die .htaccess-Datei zum Blockieren auf der gesamten Website verwenden. Der folgende Code leitet die Fehlermeldung auf eine benutzerdefinierte Fehlerseite um:

php_flag display_errors Off //关闭错误信息输出
php_value error_reporting 0 //屏蔽所有错误信息
ErrorDocument 500 /error.html //设置500错误的自定义错误页面

Diese Methode eignet sich für Situationen, in denen mehrere PHP-Programme gleichzeitig ausgeführt werden. Sie müssen nur den obigen Code zur .htaccess-Datei im Stammverzeichnis hinzufügen der Website.

Zusammenfassung

Das Obige stellt Ihnen die Methode zum Abschirmen von Fehlermeldungen vor, die von PHP zurückgegeben werden. Durch die Auswahl verschiedener Methoden können wir je nach Entwicklungsanforderungen flexibel reagieren. Es ist zu beachten, dass das Blockieren von Fehlermeldungen nur eine Möglichkeit zur Verbesserung der Website-Sicherheit darstellt und andere Sicherheitsmaßnahmen nicht ersetzen kann. Daher ist es im Entwicklungsprozess auch notwendig, andere Sicherheitsmaßnahmen zu kombinieren, um die Sicherheit und Zuverlässigkeit der Website in allen Aspekten zu verbessern.

Das obige ist der detaillierte Inhalt vonZusammenfassung der Methoden zum Abschirmen zurückgegebener Fehlermeldungen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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