mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-06-28 04:30:08 +02:00
Remove project path in twig label error messages to prevent information leakage
This commit is contained in:
parent
77671550a7
commit
5231dbd6e7
4 changed files with 66 additions and 2 deletions
|
@ -46,8 +46,23 @@ use Twig\Error\Error;
|
|||
|
||||
class TwigModeException extends RuntimeException
|
||||
{
|
||||
private const PROJECT_PATH = __DIR__ . '/../../';
|
||||
|
||||
public function __construct(?Error $previous = null)
|
||||
{
|
||||
parent::__construct($previous->getMessage(), 0, $previous);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the message of this exception, where it is tried to remove any sensitive information (like filepaths).
|
||||
* @return string
|
||||
*/
|
||||
public function getSafeMessage(): string
|
||||
{
|
||||
//Resolve project root path
|
||||
$projectPath = realpath(self::PROJECT_PATH);
|
||||
|
||||
//Remove occurrences of the project path from the message
|
||||
return str_replace($projectPath, '[Part-DB Root Folder]', $this->getMessage());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue