Кінцева точка працює при ручному введенні та не працює при завантаженні з файлу. Перш ніж змінювати пароль, перевірте, як читається запис.

Файл, орієнтований на рядки, має роздільник. Якщо парсер залишає завершальний перевід рядка в останньому полі, облікові дані, передані клієнту, можуть відрізнятися від задуманих. CRLF у стилі Windows робить два байти вартими перевірки.

PHP file() підтримує FILE_IGNORE_NEW_LINES для читання записів без роздільника кінця рядка. Використовуйте поведінку, що відповідає задокументованому формату файлу.

Будьте обережні з популярним подальшим виправленням: обрізанням кожного поля. Пробіли можуть бути справжніми символами пароля. Видалення всіх провідних і завершальних пробілів змінює облікові дані, а не просто видаляє термінатор запису.

Визначте також роздільники. Неформальний формат із розділенням двокрапкою може стати неоднозначним, коли пароль або адреса IPv6 містить двокрапки. Читайте запис відповідно до цього формату, зберігайте задумані байти пароля і лише потім кодуйте компоненти для URL кінцевої точки, якщо це потрібно.

Для діагностики порівнюйте довжини або контрольовані несекретні тестові значення. Друк справжнього пароля або повного URL з обліковими даними створює іншу проблему, поки вирішується дуже мала помилка парсера.

Схожі статті