Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Header folding

Termin Definicja
Header folding

Header folding to technika łamania długich linii nagłówka wiadomości na kilka wierszy dla zachowania czytelności.

Na czym polega składanie nagłówka wiadomości

Header folding, czyli składanie nagłówka, polega na podzieleniu długiej wartości pola wiadomości e-mail na kilka wierszy. Technika jest stosowana w formacie opisanym przez RFC 5322, aby nagłówki pozostały czytelne dla człowieka i mieściły się w ograniczonej szerokości typowego widoku tekstowego. Dotyczy to między innymi pól takich jak Subject, To, Cc, Reply-To, Received oraz innych pól nagłówkowych, których wartość może zawierać wiele adresów, parametrów lub elementów składni.

Złamanie wiersza nie może zostać wykonane w dowolnym miejscu. W klasycznym formacie wiadomości zakończenie wiersza zapisuje się jako sekwencję CRLF, czyli znak powrotu karetki i znak nowej linii. Następny wiersz musi rozpoczynać się od białego znaku, najczęściej spacji albo tabulatora. Taki dodatkowy wiersz nazywa się kontynuacją pola. Przykładowo wartość nagłówka może zostać przedstawiona jako kilka wierszy zaczynających się od spacji, lecz odbiorca interpretuje je jako jedną logiczną wartość pola.

Reguły RFC 5322 i proces rozwijania wierszy

Podczas odczytu nagłówka parser wykonuje operację odwrotną do składania, określaną jako unfolding. Polega ona na usunięciu sekwencji CRLF znajdującej się przed białym znakiem kontynuacji. W efekcie kilka fizycznych wierszy zostaje połączonych w jeden logiczny wiersz. Biały znak użyty do oznaczenia kontynuacji pozostaje częścią struktury wartości, dlatego parser nie powinien traktować takiego podziału jak przypadkowego zakończenia pola.

RFC 5322 określa limit 998 znaków dla długości pojedynczego wiersza nagłówka, nie licząc kończącej sekwencji CRLF. Jest to limit twardy, którego nadawcy nie powinni przekraczać. Standard zaleca również, aby wiersze miały najwyżej 78 znaków, ponieważ wiele programów pocztowych i narzędzi tekstowych wyświetla dłuższe wiersze mniej czytelnie. Zalecenie 78 znaków nie oznacza jednak, że każda wartość musi zostać złamana dokładnie po 78. miejscu. Podział powinien uwzględniać składnię konkretnego pola, na przykład granice między adresami, parametrami lub elementami listy.

Header folding a adresy, kodowanie i bezpieczeństwo parsera

W nagłówkach zawierających adresy e-mail składanie często umieszcza podział między kolejnymi adresami albo po przecinku oddzielającym elementy listy. Nie wolno jednak zakładać, że każde pole ma identyczną składnię. Pole Subject może zawierać zakodowane słowa zgodnie z RFC 2047, natomiast pola adresowe mają reguły dotyczące skrzynek, nazw wyświetlanych, komentarzy i separatorów. Program, który mechanicznie łamie tekst bez rozumienia typu pola, może utworzyć nagłówek trudny do odczytania albo niepoprawny składniowo.

Nieprawidłowa obsługa składania bywa także źródłem różnic między parserami. Jeden program może poprawnie rozpoznać wiersz zaczynający się od spacji jako kontynuację, a inny może potraktować nietypową sekwencję jako nowe pole lub odrzucić całą wiadomość. Szczególnej uwagi wymaga wstawianie danych pochodzących z formularzy lub aplikacji do nagłówków HTTP i wiadomości e-mail. Niezweryfikowane znaki CR oraz LF mogą prowadzić do tak zwanego CRLF injection, czyli dopisania dodatkowych pól przez osobę atakującą. Bezpieczny kod powinien kontrolować dane przed złożeniem nagłówka, korzystać z biblioteki obsługującej format wiadomości i odrzucać niedozwolone znaki zamiast próbować je dowolnie kodować.

Rozpoznawanie problemów z nagłówkami w programie pocztowym

Objawem błędnego header folding może być wyświetlanie części tematu lub adresu w osobnym polu, nieprawidłowa lista odbiorców, utrata fragmentu wartości po przekazaniu wiadomości albo komunikat o uszkodzonym nagłówku. W praktyce diagnostycznej warto porównać widok wiadomości w kliencie pocztowym z jej surowym źródłem. W źródle należy sprawdzić, czy kontynuowane wiersze rozpoczynają się od spacji lub tabulatora, czy zakończenia wierszy są zgodne z formatem CRLF oraz czy nie występują samotne znaki nowej linii w środku pola.

Warszawskie Pogotowie Komputerowe wykonuje profesjonalną naprawę laptopów, komputerów PC i ich podzespołów, a w ramach diagnostyki można sprawdzić również problemy z programem pocztowym, jego konfiguracją oraz wyświetlaniem wiadomości. Analiza surowych nagłówków pozwala odróżnić błąd samej aplikacji od wiadomości utworzonej niezgodnie z regułami formatu. Przy naprawie komputera istotne jest zachowanie oryginalnej wiadomości do testów oraz unikanie ręcznej edycji nagłówka, ponieważ nawet pojedynczy brakujący biały znak po CRLF może zmienić sposób interpretacji całego pola.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę