Prevent using URL wildcards in TLD

This commit is contained in:
varjolintu 2025-02-12 18:12:28 +02:00 committed by Jonathan White
parent 8d1898bd0b
commit 6197893e01
No known key found for this signature in database
GPG Key ID: 440FC65F2E0C6E01
2 changed files with 5 additions and 1 deletions

View File

@ -195,7 +195,7 @@ bool UrlTools::isUrlValid(const QString& urlField, bool looseComparison) const
// Prevent TLD wildcards
if (looseComparison && url.contains(UrlTools::URL_WILDCARD)) {
const auto tld = getTopLevelDomainFromUrl(url);
if (qUrl.host() == QString("%1.%2").arg(UrlTools::URL_WILDCARD, tld)) {
if (tld.contains(UrlTools::URL_WILDCARD) || qUrl.host() == QString("%1.%2").arg(UrlTools::URL_WILDCARD, tld)) {
return false;
}
}

View File

@ -158,6 +158,10 @@ void TestUrlTools::testIsUrlValidWithLooseComparison()
urls["*.com/"] = false;
urls["*.com/*"] = false;
urls["**.com/**"] = false;
urls["*.*"] = false;
urls["https://example.*"] = false;
urls["https://*.example.*"] = false;
urls["https://example.c*"] = false;
QHashIterator<QString, bool> i(urls);
while (i.hasNext()) {