Крайната точка работи при ръчно въвеждане и се проваля при зареждане от файл. Преди да смените паролата, проверете как се чете записът.

Файлът, ориентиран към редове, има разделител. Ако парсерът остави своя нов ред в последното поле, идентификационните данни, предадени на клиента, могат да се различават от предвидените. CRLF в стил Windows прави два байта заслужаващи проверка.

PHP file() поддържа FILE_IGNORE_NEW_LINES за четене на записи без разделителя за край на реда. Използвайте поведението, подходящо за документирания формат на файла.

Внимавайте с популярната последваща поправка: подрязване на всяко поле. Интервалите могат да бъдат истински символи на паролата. Премахването на всички водещи и завършващи интервали променя идентификационните данни, вместо просто да премахне терминатор на запис.

Дефинирайте и разделителите. Неформалният формат с разделяне с двоеточие може да стане двусмислен, когато паролата или адрес IPv6 съдържа двоеточия. Четете записа според този формат, запазете предвидените байтове на паролата и едва след това кодирайте компонентите за URL на крайната точка, ако е необходимо.

За диагностика сравнявайте дължини или контролирани несекретни тестови стойности. Отпечатването на истинската парола или на пълен URL с идентификационни данни създава друг проблем, докато се решава много малка парсерна грешка.

Подобни статии