Ελέγξτε το τέλος γραμμής σε αυτόν τον κωδικό πρόσβασης διαμεσολαβητή
Διαχωρίστε τους διαχωριστές εγγραφών από το περιεχόμενο διαπιστευτηρίων όταν ένα τελικό σημείο που φορτώνεται από αρχείο διαμεσολαβητή αποτυγχάνει στην αυθεντικοποίηση.
Το τελικό σημείο λειτουργεί όταν εισάγεται χειροκίνητα και αποτυγχάνει όταν φορτώνεται από αρχείο. Πριν αλλάξετε τον κωδικό πρόσβασης, εξετάστε πώς διαβάζεται η εγγραφή.
Ένα αρχείο προσανατολισμένο σε γραμμές έχει διαχωριστικό. Αν ο αναλυτής αφήνει την τελική αλλαγή γραμμής στο τελευταίο πεδίο, το διαπιστευτήριο που περνά στον πελάτη μπορεί να διαφέρει από αυτό που σκοπεύατε. Το CRLF σε στυλ Windows κάνει δύο byte άξια ελέγχου.
Το file() της PHP υποστηρίζει το FILE_IGNORE_NEW_LINES για ανάγνωση εγγραφών χωρίς το διαχωριστικό τέλους γραμμής τους. Χρησιμοποιήστε τη συμπεριφορά που ταιριάζει στην τεκμηριωμένη μορφή του αρχείου.
Προσοχή στη δημοφιλή επακόλουθη διόρθωση: περικοπή κάθε πεδίου. Τα κενά μπορεί να είναι πραγματικοί χαρακτήρες κωδικού πρόσβασης. Η αφαίρεση όλων των αρχικών και τελικών κενών αλλάζει το διαπιστευτήριο αντί να αφαιρεί απλώς έναν τερματιστή εγγραφής.
Ορίστε και τους διαχωριστές. Μια ανεπίσημη μορφή με διαχωρισμό άνω κάτω τελείας μπορεί να γίνει διφορούμενη όταν ο κωδικός πρόσβασης ή μια διεύθυνση IPv6 περιέχει άνω κάτω τελείες. Διαβάστε την εγγραφή σύμφωνα με αυτή τη μορφή, διατηρήστε τα προβλεπόμενα byte του κωδικού πρόσβασης και μόνο τότε κωδικοποιήστε τα συστατικά για URL τελικού σημείου αν χρειάζεται.
Για διαγνωστικούς σκοπούς, συγκρίνετε μήκη ή ελεγχόμενες μη μυστικές τιμές δοκιμής. Η εκτύπωση του πραγματικού κωδικού πρόσβασης ή ενός πλήρους URL που φέρει διαπιστευτήριο δημιουργεί άλλο πρόβλημα ενώ λύνεται ένα πολύ μικρό σφάλμα αναλυτή.