묻고답하기

오늘 비번 저장하는 해시 방식을 변경하였습니다. 


변경내용1.

$useSha1 = true;

하는 것과 유사하게 $useSha2 = true; 를 추가해서 추가/수정하였습니다. 


변경내용2.

member.model.php 파일의

function isValidPassword($hashed_password, $password_text, $member_srl=null) 함수 내용을 수정하여


기 가입자 로그인 -> 기존md5() 비번이 새로운 방식의 해쉬로 처리되어 저장 -> return true; 성공


변경내용3.

신규가입자 및 회원정보 수정시 md5()로 저장되는 문제 있어서 

member.controller.php 의 해당부분 각각 수정하여 해결하였습니다. 


* 관리자 페이지에서 직접 비번 수정할 때도 md5()로 저장되지만, 일단 그럴 경우가 거의 없으리라 생각하니 일단 PASS 입니다.




여기까지는 아무 문제가 없는데요...

회원탈퇴를 하려고 하니 "잘못된 비밀번호입니다" 창이 뜹니다.

K-1.png



비밀번호를 잘못 입력했을 가능성은 0%입니다. 


보니까 member.controller.php의 이 부분에서 에러가 나는 것 같습니다.

 629     /**
 630      * Membership withdrawal
 631      *
 632      * @return void|Object (void : success, Object : fail)
 633      */
 634     function procMemberLeave()
 635     {
 636         if(!Context::get('is_logged')) return $this->stop('msg_not_logged');
 637         // Extract the necessary information in advance
 638         $password = trim(Context::get('password'));
 639         // Get information of logged-in user
 640         $logged_info = Context::get('logged_info');
 641         $member_srl = $logged_info->member_srl;
 642         // Create a member model object
 643         $oMemberModel = getModel('member');
 644         // Get information of member_srl
 645         if(!$this->memberInfo->password)
 646         {
 647             $columnList = array('member_srl', 'password');
 648             $memberInfo = $oMemberModel->getMemberInfoByMemberSrl($member_srl, 0, $columnList);
 649             $this->memberInfo->password = $memberInfo->password;
 650         }
 651         // Verify the cuttent password
 652         if(!$oMemberModel->isValidPassword($this->memberInfo->password, $password)) return new Object(-1, 'invalid_password');
 653
 654         $output = $this->deleteMember($member_srl);
 655         if(!$output->toBool()) return $output;
 656         // Destroy all session information
 657         $this->destroySessionInfo();
 658         // Return success message

$password 는 탈퇴 창에 입력한 패스워드이고, 

$this->memberInfo->password 는 DB에서 가져온 패스워드이고, 

isValidPassword() 함수를 불러서 이 둘을 비교하는 거잖아요?



회원가입시나, 비번변경시처럼 코드 수정이 필요한 부분도 아니고...

로그인 할 때 isValidPassword() 를 불러 통과가 된 것처럼  

탈퇴할 때도 같은 함수 부르는 거니까 문제없이 잘 되어야 할 것 같은데... 


왜 에러가 나는지 감이 오지 않습니다. 





글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
강웅석 winapm 을 이용해서 개인 서버를 사용헤보고 싶은데... [1] 2007.08.10
순수주의 제로보드 배경색 변경에 관해서...  
이재훈 달력을 넣고 싶은데요 [1] 2007.08.10
김기훈 amp질문이에요~ [1] 2007.08.10
유니 폰트중에 리사이클 모양은...  
김종민 세션값이..도와주세요  
이태운 인터넷 익스플로러나 기존 윈도우창 보면 드롭다운 메뉴중 [1] 2007.08.10
최종식 FTP서버가 너무 느려졌어요; [1] 2007.08.10
김민규 파일포인터란 무엇인가요?? [3] 2007.08.10
아싸 글을 쓰고 난후-_ㅠ [1] 2007.08.10
윙s 음악메일 보내기_SMTP  
로이 으;;;php파일에 대해;... [1] 2007.08.10
김기훈 localhost에 접속이 안됩니다. [1] 2007.08.10
아힘사 홈페이지 기본 레이아웃의 크기를 알고 싶습니다. [4] 2007.08.10
김민규 한글의 아스키코드 범위는...?? [1] 2007.08.10
이종호 궁금한게 있습니다.. [1] 2007.08.10
임경진 고수님들 레이어에 관한 질문...해답좀.. [1] 2007.08.10
금상국 winxp홈에디션을 서버로 [5] 2007.08.10
이창형 얼마전 회사에 입사한 신출래기 입니다... [8] 2007.08.10
jjaekim 와우 R2에서 FTP에 대한 설정법좀 알고싶습니다.  
임경진 고수님들에겐 간단한 레이어 관련... 초보인 전.. 지금 1주일째..ㅜㅜ [1] 2007.08.10
임경진 아린님... 필독이용~~ [1] 2007.08.10
효민 Unix 서버랑 Linux 서버 포멧문의..  
spring 이동메뉴 스크롤바 오류  
김지희 아이프레임과....링크  
rubin 배경음악 넣는거요.-ㅁ- [1] 2007.08.10
로이 나모는.... [2] 2007.08.10
권회창 embed 태그가 먹질 않습니다-_-;; [1] 2007.08.10
TheMics 리눅스에서 사용자가 입력한 명령어 [2] 2007.08.10
조윤희 일러스트 요,