엔드포인트는 직접 입력하면 작동하지만 파일에서 불러오면 실패합니다. 비밀번호를 교체하기 전에 레코드가 어떻게 읽히는지 확인하세요.

줄 단위 파일에는 구분자가 있습니다. 파서가 마지막 필드에 끝 줄바꿈을 남겨 두면 클라이언트에 전달되는 자격 증명이 의도한 것과 달라질 수 있습니다. Windows 스타일 CRLF라면 확인해야 할 바이트가 두 개가 됩니다.

PHP의 file() 는 줄 끝 구분자 없이 레코드를 읽기 위해 FILE_IGNORE_NEW_LINES 를 지원합니다. 파일의 문서화된 형식에 맞는 동작을 사용하세요.

흔한 후속 수정인 모든 필드 trim에 주의하세요. 공백도 실제 비밀번호 문자일 수 있습니다. 앞뒤 공백을 모두 제거하면 레코드 종결자만 지우는 것이 아니라 자격 증명 자체를 바꾸게 됩니다.

구분자도 정의하세요. 비공식 콜론 구분 형식은 비밀번호나 IPv6 주소에 콜론이 들어가면 모호해질 수 있습니다. 그 형식에 따라 레코드를 읽고, 의도한 비밀번호 바이트를 유지한 다음에만 필요하면 엔드포인트 URL용 구성 요소를 인코딩하세요.

진단을 위해서는 길이나 통제된 비밀 아닌 테스트 값을 비교하세요. 실제 비밀번호나 자격 증명이 담긴 전체 URL을 출력하면 아주 작은 파서 오류를 해결하는 동안 또 다른 문제를 만들게 됩니다.

관련 글