fix(logs): prevent URL redaction from spanning log lines (#12238)

This commit is contained in:
Andras Bacsai
2026-10-20 10:49:29 +02:00
committed by GitHub
parent d55852ee94
commit 57faba1b96
2 changed files with 21 additions and 1 deletions
+2 -1
View File
@@ -382,7 +382,8 @@ function remove_iip($text)
// Generic URLs with passwords (covers database URLs, ftp, amqp, ssh, git basic auth, etc.)
// (protocol://user:password@host → protocol://user:<REDACTED>@host)
$text = preg_replace('/((?:https?|postgres|mysql|mongodb|rediss?|mariadb|ftp|sftp|ssh|amqp|amqps|ldap|ldaps|s3):\/\/[^:]+:)[^@]+(@)/i', '$1'.REDACTED.'$2', $text);
// User and password cannot contain whitespace, so a match never spans log lines.
$text = preg_replace('/((?:https?|postgres|mysql|mongodb|rediss?|mariadb|ftp|sftp|ssh|amqp|amqps|ldap|ldaps|s3):\/\/[^:\s@\/]+:)[^@\s]+(@)/i', '$1'.REDACTED.'$2', $text);
// Email addresses
$text = preg_replace('/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/', REDACTED, $text);