묻고답하기

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


변경내용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 남기남
장뚱이 최근 이미지 추출하려는데요.  
오스카 로그인창과 메뉴박스가 겹쳐보입니다(XE-Art Free 레이아웃) [1] file 2010.11.21 by ForHanbi
파크가든 XE를 쓰고 있습니다. 게시판에 적은 인터넷 주소를 새창으로...  
nzeo초보 플래닛 폰트 변경  
동탄간지 게시판에 회원 정보 출력하기... [3] 2010.11.21 by 동탄간지
서혜란810 해외분들을 회원가입할 수 있는 설정은 없나요??  
이태일804 2개 이상의 게시판을 하나의 게시판으로 출력하고 싶습니다. [2] 2010.11.21 by 이온디
김성호321 기본적인문제지만 문의드립니다. [1] 2010.11.21 by 無願
redclip 싸이트 접속불가문제 [2] 2010.11.21 by Jaekie
우헤헤446 엮인글 수신은 어디서 확인하나요? [1] 2010.11.21 by SMaker
에혀라X 서브메뉴 타켓을 특정글로 링크시 서브메뉴 사라집니다.  
또별 저장소 계정 설정 메뉴 문의 [2] 2010.11.21 by 조성민721
깜빡이영어 답변구하기 어려운 질문모음 (1탄) [1] 2010.11.21 by 조성민721
황선필137 SSL옵션을 잘못 선택 했다가 로그인이 안됩니다. [2] 2010.11.21 by 휘즈
루시페루 쉬운설치 로그인이 안됩니다.  
최혁필184 메인과 서브메인 구성이 다를때. [1] 2010.11.21 by nabul2
hrum 드림위버에서 만든 웹페이지에서 게시판과 연동된 위젯사용법 [1] 2010.11.22 by 검프
루시페루 도와주세요 위젯 위치 ㅠㅠ [1] 2010.11.22 by 검프
신정 서버교체후 설치시 화면이 않넘어갑니다. 도와 주세요 [1] file 2010.11.22 by 신정
Jaekie 페이지 - 상자위젯 사용처가 뭔가요? [1] 2010.11.22 by guny