Merge pull request #12440 from MrPetovan/bug/fatal-errors

Catch exceptions in Model\Gserver::cleanURL
This commit is contained in:
Philipp 2022-12-17 02:17:00 +01:00 committed by GitHub
commit 22c1cd3cd1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -314,25 +314,20 @@ class GServer
/**
* Remove unwanted content from the given URL
*
* @param string $url
* @param string $dirtyUrl
*
* @return string cleaned URL
* @throws Exception
*/
public static function cleanURL(string $url): string
public static function cleanURL(string $dirtyUrl): string
{
$url = trim($url, '/');
$url = str_replace('/index.php', '', $url);
$urlparts = parse_url($url);
if (empty($urlparts)) {
try {
$url = str_replace('/index.php', '', trim($dirtyUrl, '/'));
return (string)(new Uri($url))->withUserInfo('')->withQuery('')->withFragment('');
} catch (\Throwable $e) {
Logger::warning('Invalid URL', ['dirtyUrl' => $dirtyUrl, 'url' => $url]);
return '';
}
unset($urlparts['user']);
unset($urlparts['pass']);
unset($urlparts['query']);
unset($urlparts['fragment']);
return (string)Uri::fromParts($urlparts);
}
/**