데닐슨은 라우터의 비밀번호 입력 필드가 비밀번호 관리자와 작동하지 않는 문제를 겪었습니다. 그는 라우터의 코드를 조사했고, Vue, jQuery, 그리고 축약된 MD5 함수로 구축되었음을 발견했습니다. 코드에는 불필요한 jQuery 버전과 F5 키를 누르면 페이지를 새로 고치는 기능이 포함되어 있었는데, 이는 불필요해 보였습니다. 또한, 길고 비효율적인 16진수 유효성 검사 함수가 발견되었는데, 이는 좋지 않은 코드 품질을 보여주는 것이었습니다. 비밀번호 입력 필드 문제는 유효하지 않은 HTML에서 비롯되었는데, 여러 입력 필드가 동일한 ID를 공유하고 있었습니다. 라우터의 사용자 지정 비밀번호 마스킹은 JavaScript로 구현되었으며, 이로 인해 호환성 문제가 발생했습니다. 그 결과, 비밀번호 관리자가 필요한 자격 증명을 입력하지 못했습니다. 저자는 좋지 않은 코드 품질에 대해 반성하며, 이를 웹 개발에 익숙하지 않은 네트워크 엔지니어의 탓으로 돌렸습니다. 저자는 이러한 유형의 코딩이 가정용 라우터에서 흔히 볼 수 있는 것이라고 결론 내렸습니다. 그 후 저자는 광고를 제공합니다.
thedailywtf.com
CodeSOD: This Router Says **** You
