Domenę wyświetlaną w Unicode można przeszukiwać za pomocą reprezentacji zgodnej z ASCII. Zachowaj oba formularze i reguły konwersji, aby można było odtworzyć wynik sprawdzania. Znajomość wizualna nie jest dowodem na to, że dwie nazwy identyfikują tę samą domenę lub należą do tej samej organizacji.
Oddziel domenę od skrzynki pocztowej
Referencje: RFC 5890 §2.3.2.1, RFC 5891 §5.
Umiędzynarodowiona etykieta domeny może mieć etykietę U, jej prawidłową formę Unicode, i etykietę A, której zweryfikowana forma zgodna z ASCII zaczyna się od xn--. Przetwarzanie IDNA działa na etykietach domen. Nie konwertuje lokalnej części poczty e-mail na skrzynkę pocztową ASCII i nie ustanawia obsługi SMTPUTF8.
Rekordy uwierzytelniające dodają etykiety protokołów w całej domenie. Przekonwertuj umiędzynarodowioną część domeny na odpowiednią implementację IDNA, a następnie skonstruuj właściciela, np _dmarc. plus domena A-label. Nie uruchamiaj modułu sprawdzania poprawności IDNA opartego wyłącznie na nazwie hosta na etykietach podkreśleń protokołu i nie stwierdzaj, że podstawowa domena jest nieprawidłowa.
Waliduj, a nie tylko koduj
Referencje: RFC 5890 §2.3.2.1, RFC 5891 §4, RFC 5895 §2.
Punycode jest częścią reprezentacji etykiety A, ale nie każdy ciąg znaków rozpoczynający się od xn jest prawidłową etykietą A. Walidacja obejmuje obowiązujące zasady IDNA, dozwolone znaki i ograniczenia kontekstowe. RFC 5891 definiuje przetwarzanie protokołu, podczas gdy wybory mapowania aplikacji mogą wpływać na dane wejściowe użytkownika przed tym przetwarzaniem.
Zapisz bibliotekę i wersję, profil IDNA, dane wejściowe Unicode i wynikowy formularz ASCII. Domyślne ustawienia narzędzi mogą się różnić, szczególnie w przypadku znaków, na które wpływa mapowanie lub starsze zachowanie IDNA. Unikaj cichego normalizowania niejednoznacznego wpisu użytkownika i prezentowania wyniku jako jedynej możliwej zamierzonej domeny.
Odtwórz spotkanie w obie strony
Używając zainstalowanej biblioteki idna języka Python, która implementuje IDNA2008, uruchom idna.encode("bü cher.example ", uts46=False).decode("ascii"). Oczekiwany wynik to xn--bcher-kva.example. Zdekoduj go za pomocą tej samej biblioteki i zweryfikuj podróż w obie strony w Unicode. Przykład ma charakter ilustracyjny i nie stanowi twierdzenia dotyczącego działającej domeny organizacji.
Skonstruować _dmarc.xn--bcher-kva.example I s1._domainkey.xn--bcher-kva.example jako ciągi właściciela DNS . W laboratorium lub w kontrolowanym programie sprawdzającym sprawdź, czy narzędzie akceptuje dane wejściowe Unicode, konwertuje je, odrzuca lub wysyła inne pytanie. Zachowane przechwytywanie historyczne rejestruje jedynie konwersję bibliotek w wersji idna 3.18. Nowa kontrola konwersji offline w tej recenzji rejestruje osobno zainstalowaną wersję; nie jest to również test DNS ani SMTPUTF8.
Dodaj urządzenie ujemne z nieprawidłową etykietą xn-- i zachowaj aktualny wyjątek biblioteki. Traktuj odmowę jako użyteczny dowód, zamiast usuwać znaki, dopóki dane wejściowe nie zostaną przekazane. W przypadku innych mapowań dostępnych dla użytkownika należy wyraźnie udokumentować alternatywny profil, zamiast zakładać, że ścisły wynik IDNA2008 pasuje do każdej przeglądarki.
Porównaj rzeczywiste tożsamości w dowodach pocztowych
Referencje: RFC 9989 §4.4, RFC 9989 §5.3.1.
Zachowaj oryginał Z nagłówka oraz reprezentacje domen używane przez SPF, DKIM I DMARC analiza. Dla DMARC , RFC 9989 §5.3.1 wymaga, aby wyodrębniona domena autora etykiety U została przekonwertowana do postaci etykiety A w celu dalszego przetwarzania. Skorzystaj z protokołu wyrównanie zasad, a nie wizualne porównanie wyświetlanych nazw. Jeśli narzędzie nie obsługuje składni wiadomości lub zachowań związanych z internacjonalizacją, zgłoś ograniczenie, zamiast po cichu wybierać dogodną tożsamość.
Użyj znanego kontekstu własności, aby zbadać podobieństwa. Domena może przejść własne uwierzytelnienie i nadal wizualnie przypominać nazwę innej organizacji. Konwersja IDNA poprawia odtwarzalność; nie potwierdza własności marki, usuń phishing ryzykować lub udowodnić, że wiadomość e-mail została autoryzowana przez oczekiwaną stronę.