Merge pull request #14282 from mexon/mat/malformed-webfinger-400

Return 400 error code on malformed request.
This commit is contained in:
Michael Vogel 2024-07-11 16:11:55 +02:00 committed by GitHub
commit 946337645d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -26,6 +26,7 @@ use Friendica\Core\System;
use Friendica\DI;
use Friendica\Model\Photo;
use Friendica\Model\User;
use Friendica\Network\HTTPException\BadRequestException;
use Friendica\Network\HTTPException\NotFoundException;
use Friendica\Protocol\ActivityNamespace;
use Friendica\Protocol\Salmon;
@ -68,13 +69,15 @@ class Xrd extends BaseModule
if (substr($uri, 0, 4) === 'http') {
$name = ltrim(basename($uri), '~');
$host = parse_url($uri, PHP_URL_HOST);
} else {
} else if (preg_match('/^[[:alpha:]][[:alnum:]+-.]+:/', $uri)) {
$local = str_replace('acct:', '', $uri);
if (substr($local, 0, 2) == '//') {
$local = substr($local, 2);
}
list($name, $host) = explode('@', $local);
} else {
throw new BadRequestException();
}
if (!empty($host) && $host !== DI::baseUrl()->getHost()) {