다들 그누보드 비밀번호 찾기 잘되시나요?
본문
https://sir.kr/qa/246163?page=1&vsst=lastet&vpage=1&page=1&unanswered=0&s_tag=
제가지금 이분과 같은 증상이라...
이것저것해보고있는데
password_lost2.php에서 인증링크를 빼버리면 정상적으로 mb_lost_certify가 입력되는거보니
여기서부턴 뇌피셜입니다만 메일발송시점에서 링크가있는경우 그 링크를 한번 들어가는것같더라구요
메일을확인하고 버튼을클릭하기도 전에 찾기시점에서 mb_lost_certify 생성되었다가 바로비어지고 password가 랜덤난수(일회용비밀번호)로 바로 바뀌는거보니
이거밖에없다고 생각됩니다...
저만 이런것인지.. 아니면 다른 그누보드를쓰는분들도 지금그런것인지 궁금하네요
메일발송시점에서 뭐 비밀번호정상적으로 바뀌고... 메일로 온 비밀번호를 입력하면 로그인까지 다되지만
일반 회원의 경우 링크를 누르라고해서 눌렀는데 오류가뜨면 당황해하실것같아서요...
몇시간 찾다보니 메일내용에 들어가는 링크 문제인데.... 발송시점에서 링크를 한번읽어버려서(링크들어가는순간 mb_lost_certify비워지고 비밀번호가 바뀌기때문에) 이러한 현상이 일어나는것같은데
도움 부탁드립니다
답변 5
브라우저 어떤거 쓰세요?
아파치 로그 함 살펴보세요.
어떤 시점에 비밀번호가 다시 리셋되는지.
크롬에서 링크안의 텍스트를 미리 로드해버리는건 아닌지..
그럴수도 있겠네요.
지금의 케이스와 일치하는지는 잘 모르겠습니다만..
제가 경험한 케이스는, '네이버 메일'의 경우에만 1회용 암호화 문자가 db 에 저장되지 않는 문제가 있었습니다.
그 근본 원인에 대해서는 알 수 없었고, 임시방편으로 랜덤 암호화 문자 생성하는 부분의 코드를 조금 수정하였더니, 해당 문제가 수정되었습니다.
$mb_nonce = md5(pack('V*', rand(), rand(), rand(), rand()));
-> $mb_nonce = md5(pack(rand(), rand(), rand(), rand())); 로 수정
제 케이스는
메일내용에 인증주소링크가 걸려있는상태에서 그누보드 회원정보상에 수신메일주소를 한메일계정으로 해서 테스트할 경우 무조건 error 가 뜹니다. 당연히 DB확인해보면 mb_lost_certify 필드는 이미 비어있구요. 메일서비스를 네이버메일계정으로 변경해서 테스트하니 이상없이 인증처리가 되고 비밀번호 변경처리까지 완료됩니다.
아마도 스팸방지차원에서 링크가 있는경우 악성코드체크등을 위해 메일서비스에서 제공하는 서비스때문이 아닐까 싶은데.. 네이버메일에서 사용하는 스팸체크엔진이 더 스마트하거나 그게 아니라면 오히려 한메일보다 네이버가 보안적인 부분을 오히려 무시하는 것일 수 있겠네요.
달린지 꽤 지난 질문입니다만.. 다른 분도 비슷한 경우 검색하실 수도 있고해서 추가로 답변남깁니다.
저역시 잊어버리고 나중에 다시 찾을지도 모르구요.. ㅎㅎ