يعمل الطرف عند إدخاله يدويًا ويفشل عند تحميله من ملف. قبل تدوير كلمة المرور، افحص كيفية قراءة السجل.

الملف الموجّه بالأسطر له محدد. إذا ترك المحلّل سطر السطر الجديد في الحقل الأخير، فقد تختلف بيانات الاعتماد التي تُمرَّر إلى العميل عن التي قصدتها. يجعل CRLF بنمط ويندوز بايتين جديرين بالفحص.

يدعم file() في PHP الخيار FILE_IGNORE_NEW_LINES لقراءة السجلات دون محدد نهاية السطر. استخدم السلوك المناسب لتنسيق الملف الموثّق.

كن حذرًا مع الإصلاح الشائع اللاحق: تقليم كل حقل. يمكن أن تكون المسافات أحرفًا حقيقية في كلمة المرور. إزالة كل المسافات البادئة واللاحقة تغيّر بيانات الاعتماد بدلًا من مجرد إزالة فاصل سجل.

حدّد الفواصل أيضًا. قد يصبح التنسيق غير الرسمي المفصول بالنقطتين ملتبسًا عندما تحتوي كلمة المرور أو عنوان IPv6 على نقطتين. اقرأ السجل وفقًا لذلك التنسيق، واحتفظ ببايتات كلمة المرور المقصودة، وعندئذ فقط شفّر المكوّنات لعنوان URL للطرف إذا لزم الأمر.

للتشخيص، قارن الأطوال أو قيم اختبار مضبوطة غير سرية. طباعة كلمة المرور الحقيقية أو عنوان URL كامل يحمل بيانات الاعتماد تخلق مشكلة أخرى أثناء حل خطأ محلّل صغير جدًا.

مقالات ذات صلة