Further IDN improvements

This commit is contained in:
Pinga 2024-01-23 13:31:38 +02:00
parent 137f8170e2
commit c8c8cc3c07
3 changed files with 36 additions and 6 deletions

View file

@ -19,6 +19,20 @@ $rdapServer = 'https://' . $c['rdap_url'] . '/domain/';
$sanitized_domain = filter_var($domain, FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME);
// Check if the domain is in Unicode and convert it to Punycode
if (mb_check_encoding($domain, 'UTF-8') && !filter_var($domain, FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME)) {
$punycodeDomain = idn_to_ascii($domain, IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46);
if ($punycodeDomain !== false) {
$domain = $punycodeDomain;
} else {
echo json_encode(['error' => 'Invalid domain.']);
exit;
}
}
$sanitized_domain = filter_var($domain, FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME);
if ($sanitized_domain) {
$domain = $sanitized_domain;
} else {