인프런 커뮤니티 질문&답변

은주명호아빠님의 프로필 이미지
은주명호아빠

작성한 질문수

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

노드 리액트 기초 강의 #10 Bcrypt로 비밀번호 암호화 하기

암호가 해싱되지 않고 입력값 그대로 db에 저장되는 문제

작성

·

8

0

뭔가 빠트렸나 했더니, isModified() 때문에 비밀번호 변경이 아닌 신규 데이터 저장시에는 next() 를 호출해버리네요

에러도 없어서 파악이 좀 오래걸렸네요

 

if(user.isModified("password") 부분을 !user.isModified("password") 로 수정하고 해결되었네요

 

※ 같은 문제 겪으시는분 계시면 참고하세요!

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

은주명호아빠님, 비밀번호가 해싱되지 않고 그대로 데이터베이스에 저장되는 문제를 겪으셨군요. 이 문제는 주로 암호화가 필요한 필드가 변동이 있을 때 이를 감지하며 발생하게 됩니다. isModified 메소드는 특정 필드가 변경되었는지를 판별하는 데 유용하게 사용됩니다.

user.isModified("password") 조건문을 !user.isModified("password")로 수정함으로써 문제가 해결되었음을 알려주셨습니다. 즉, 기존의 조건에서는 비밀번호가 변경되지 않은 경우에만 next()를 호출하도록 설정되어 있었던 것으로 보입니다. 이를 반대로 수정하셔서 해결한 것이지요.

비슷한 문제의 해결 방법에 대해 더 알고 싶으시다면, 다음 링크도 확인해보세요:

유사한 상황에서 isModified의 사용법에 대해 더 배우고 싶을 수 있습니다. 조언이 필요하시다면 언제든지 물어보세요!

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

은주명호아빠님의 프로필 이미지
은주명호아빠

작성한 질문수

질문하기