Het eindpunt werkt bij handmatige invoer en mislukt wanneer het uit een bestand wordt geladen. Controleer voordat je het wachtwoord roteert hoe het record wordt gelezen.

Een regelgeoriënteerd bestand heeft een scheidingsteken. Als de parser zijn afsluitende nieuwe regel in het laatste veld laat staan, kan de inloggegevens die aan de client worden doorgegeven afwijken van wat je bedoelde. CRLF in Windows-stijl maakt twee bytes het controleren waard.

De file() van PHP ondersteunt FILE_IGNORE_NEW_LINES om records zonder hun regeleinde-scheidingsteken te lezen. Gebruik het gedrag dat past bij het gedocumenteerde formaat van het bestand.

Wees voorzichtig met de populaire vervolgoplossing: elk veld trimmen. Spaties kunnen echte wachtwoordtekens zijn. Alle voorloop- en volgspaties verwijderen verandert de inloggegevens in plaats van alleen een recordterminator te verwijderen.

Definieer ook de scheidingstekens. Een informeel door dubbele punten gescheiden formaat kan dubbelzinnig worden wanneer het wachtwoord of een IPv6-adres dubbele punten bevat. Lees het record volgens dat formaat, behoud de bedoelde wachtwoordbytes en codeer pas daarna componenten voor een eindpunt-URL indien nodig.

Vergelijk voor diagnose lengtes of gecontroleerde niet-geheime testwaarden. Het afdrukken van het echte wachtwoord of een volledige URL met inloggegevens creëert een ander probleem terwijl een heel kleine parserfout wordt opgelost.

Gerelateerde artikelen