Skip to content
Snippets Groups Projects
Commit 44b63747 authored by Björn Schießle's avatar Björn Schießle
Browse files

remove passwords in URLs from all log messages

parent afa00318
No related branches found
No related tags found
No related merge requests found
...@@ -14,6 +14,15 @@ class ErrorHandler { ...@@ -14,6 +14,15 @@ class ErrorHandler {
/** @var LoggerInterface */ /** @var LoggerInterface */
private static $logger; private static $logger;
/**
* @brief remove password in URLs
* @param string $msg
* @return string
*/
private static function removePassword($msg) {
return preg_replace('/\/\/(.*):(.*)@/', '//xxx:xxx@', $msg);
}
public static function register() { public static function register() {
$handler = new ErrorHandler(); $handler = new ErrorHandler();
...@@ -32,14 +41,14 @@ class ErrorHandler { ...@@ -32,14 +41,14 @@ class ErrorHandler {
if($error && self::$logger) { if($error && self::$logger) {
//ob_end_clean(); //ob_end_clean();
$msg = $error['message'] . ' at ' . $error['file'] . '#' . $error['line']; $msg = $error['message'] . ' at ' . $error['file'] . '#' . $error['line'];
self::$logger->critical($msg, array('app' => 'PHP')); self::$logger->critical(self::removePassword($msg), array('app' => 'PHP'));
} }
} }
// Uncaught exception handler // Uncaught exception handler
public static function onException($exception) { public static function onException($exception) {
$msg = $exception->getMessage() . ' at ' . $exception->getFile() . '#' . $exception->getLine(); $msg = $exception->getMessage() . ' at ' . $exception->getFile() . '#' . $exception->getLine();
self::$logger->critical($msg, array('app' => 'PHP')); self::$logger->critical(self::removePassword($msg), array('app' => 'PHP'));
} }
//Recoverable errors handler //Recoverable errors handler
...@@ -48,7 +57,7 @@ class ErrorHandler { ...@@ -48,7 +57,7 @@ class ErrorHandler {
return; return;
} }
$msg = $message . ' at ' . $file . '#' . $line; $msg = $message . ' at ' . $file . '#' . $line;
self::$logger->warning($msg, array('app' => 'PHP')); self::$logger->warning(self::removePassword($msg), array('app' => 'PHP'));
} }
} }
...@@ -69,7 +69,6 @@ class OC_Log_Owncloud { ...@@ -69,7 +69,6 @@ class OC_Log_Owncloud {
} }
$time = new DateTime(null, $timezone); $time = new DateTime(null, $timezone);
// remove username/passswords from URLs before writing the to the log file // remove username/passswords from URLs before writing the to the log file
$message = preg_replace('/\/\/(.*):(.*)@/', '//xxx:xxx@', $message);
$entry=array('app'=>$app, 'message'=>$message, 'level'=>$level, 'time'=> $time->format($format)); $entry=array('app'=>$app, 'message'=>$message, 'level'=>$level, 'time'=> $time->format($format));
$entry = json_encode($entry); $entry = json_encode($entry);
$handle = @fopen(self::$logFile, 'a'); $handle = @fopen(self::$logFile, 'a');
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment