묻고답하기

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


변경내용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 남기남
피노키오72 스페머에 의한 파일 용량 초과 [2] 2015.09.11 by 기진곰
sushi 모바일 글쓰기에서 발생하는 추가 창을 안 뜨게 하고 싶습니다. file  
KanTa 최신버전 루트에 설치시 퍼미션 질문 드립니다. [4] file 2015.09.11 by KanTa
퍼스트맨 제로보드 게시판 불량단어 차단 에러 file  
ACManim 가입 인증메일 질문좀 드릴게요.. [8] 2015.09.10 by 기진곰
불량춤꾼1 엑스돔 레이아웃의 로그인 문제 [1] 2015.09.10 by 세걸
메르시몰리 갤러리 게시판 본문화면에서  
다롱이397b7 apache, php 연동에 관련해서 질문드립니다. [2] file 2015.09.10 by 다롱이397b7
pani**** 서브형 메뉴타입 적용 후 이미지변경 문의 file  
함영현 모바일 접속할때 404에러가 떠요 ㅠ  
쩍새 급합니다. 학교 웹메일로 인증메일이 전송되지 않는 문제 [2] file 2015.09.10 by 쩍새
mcls**** 기본 파비콘?! 안나오게 하려고 하는데 어떻게 해야되나요? [2] file 2015.09.10 by mcls****
g****d75e5 xe 게시판 xml 추출에 대해 [2] 2015.09.10 by g****d75e5
jinsw xe 1.8.7 DB 암호화 방식 아시는분 계시나요? [4] 2015.09.10 by jinsw
sandcastle (재질문) 게시판 글 쓴 이 클릭하면... [2] 2015.09.10 by sandcastle
andyseong539 PHP 5.3에서 XE 는 1.4.0.10이 잘 돌아가나요? [2] 2015.09.10 by sejin7940
키노 이거 PC 레이아웃 설정하려면 어찌 해요? [3] file 2015.09.10 by 키노
해맑은원숭이 이번에 홈페이지를 만들려고 합니다.  
ysomnee 어제 새벽부터 먹통입니다  
xe_마니 sejin7940_editor_blank 스킨 모바일에 적용할려면 [2] 2015.09.10 by xe_마니