묻고답하기
비번저장 해시방식 변경에 따른 부작용 - 회원탈퇴시 비번틀림 문의
2015.01.31 23:56
오늘 비번 저장하는 해시 방식을 변경하였습니다.
변경내용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 입니다.
여기까지는 아무 문제가 없는데요...
회원탈퇴를 하려고 하니 "잘못된 비밀번호입니다" 창이 뜹니다.
비밀번호를 잘못 입력했을 가능성은 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] | 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] | 2010.11.22 by 신정 |
Jaekie | 페이지 - 상자위젯 사용처가 뭔가요? [1] | 2010.11.22 by guny |
652 if(!$oMemberModel->isValidPassword($this->memberInfo->password, $password,$member_srl)) return new Object(-1, 'invalid_password');