Sprawdź zakończenie wiersza w tym haśle proxy
Oddziel separatory rekordów od zawartości danych logowania, gdy punkt końcowy wczytany z pliku proxy nie przechodzi uwierzytelniania.
Punkt końcowy działa wpisany ręcznie, a zawodzi wczytany z pliku. Przed zmianą hasła sprawdź, jak odczytywany jest rekord.
Plik zorientowany na wiersze ma separator. Jeśli parser pozostawi swój końcowy znak nowego wiersza w ostatnim polu, dane logowania przekazane klientowi mogą różnić się od zamierzonych. CRLF w stylu Windows sprawia, że dwa bajty są warte sprawdzenia.
Funkcja file() PHP obsługuje FILE_IGNORE_NEW_LINES, aby czytać rekordy bez separatora końca wiersza. Użyj zachowania odpowiedniego dla udokumentowanego formatu pliku.
Uważaj na popularną późniejszą poprawkę: przycinanie każdego pola. Spacje mogą być prawdziwymi znakami hasła. Usunięcie wszystkich wiodących i końcowych spacji zmienia dane logowania, zamiast tylko usuwać terminator rekordu.
Zdefiniuj także separatory. Nieformalny format rozdzielany dwukropkami może stać się niejednoznaczny, gdy hasło lub adres IPv6 zawiera dwukropki. Czytaj rekord zgodnie z tym formatem, zachowaj zamierzone bajty hasła i dopiero potem zakoduj komponenty dla adresu URL punktu końcowego, jeśli to konieczne.
Do diagnostyki porównuj długości lub kontrolowane niejawne wartości testowe. Drukowanie prawdziwego hasła lub pełnego adresu URL z danymi logowania stwarza inny problem podczas rozwiązywania bardzo małego błędu parsera.