mysql 4.0x 이하 회원 비번 정보를 로그인시 4.1x 이상 의 password로 변경 정보
mysql 4.0x 이하 회원 비번 정보를 로그인시 4.1x 이상 의 password로 변경본문
* mysql 4.0x 이하 버전에서는 password() sql명령이 16바이트로 처리되어 저장되며 4.1x 이상 버전은 41바이트로 처리된다. mysql 4.0x 이하에서 운영중인 홈페이지의 회원을 4.1x 이상 버전으로 이전 했을때 비밀번호 값이 틀리기 때문에 로그인을 할수 없는 점을 수정하기 위한 작업입니다. 간단하게 sql_old_password() php 함수를 생성 하였고 로그인 체크 부분에 조건으로 old_password와 일치한다면 새로운 41바이트 password()로 변경되도록 처리 하였다.
사용목적: cafe 24등의 mysql 4.0x 이하를 쓰는 업체에서 회원정보를 mysql 4.1x 이상으로 이전 후 로그인이 안되는 현상 수정
./lib/common.lib.php 약 1246줄
윗부분에 다음 소스 추가
./bbs/login_check.php 약 18줄
를 다음 소스로 수정
사용목적: cafe 24등의 mysql 4.0x 이하를 쓰는 업체에서 회원정보를 mysql 4.1x 이상으로 이전 후 로그인이 안되는 현상 수정
./lib/common.lib.php 약 1246줄
function sql_password($value)
{
// mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
// mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
$row = sql_fetch(" select password('$value') as pass ");
return $row['pass'];
}
윗부분에 다음 소스 추가
function sql_old_password($value)
{
// mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
// mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
$row = sql_fetch(" select old_password('$value') as pass ");
return $row['pass'];
}
./bbs/login_check.php 약 18줄
alert('가입된 회원아이디가 아니거나 패스워드가 틀립니다.\\n패스워드는 대소문자를 구분합니다.');
를 다음 소스로 수정
if(sql_old_password($mb_password) == $mb['mb_password']){ // old 비번과 같다면 자동으로 업데이트
$new_password = sql_password($mb_password);
sql_query("update {$g4['member_table']} set mb_password = '$new_password ' where mb_id = '{$mb['mb_id']}'");
}else{
alert('가입된 회원아이디가 아니거나 패스워드가 틀립니다.\\n패스워드는 대소문자를 구분합니다.');
}
추천
1
1
댓글 8개
수고하셨네요
정말 절실하게 필요했던 부분인데... ㅠㅠ
너무 감사드립니다 ~
덕분에 잘 해결하고 돌아갑니다 ~~
첨에 소스 그대로 넣으니 계속 안되서... 다른 소스랑 비교해보며 고쳐봤는데요..
위에 소스로 해서 안되시는 분들은 아래 소스 참고하세요 ^^
login_check.php 페이지에 수정되는 부분를
if(sql_old_password($mb_password) == $mb['mb_password']){ // old 비번과 같다면 자동으로 업데이트
$new_password = sql_password($mb_password);
sql_query("update {$g5['member_table']} set mb_password = '$new_password ' where mb_id = '{$mb['mb_id']}'");
}else{
alert('가입된 회원아이디가 아니거나 패스워드가 틀립니다.\\n패스워드는 대소문자를 구분합니다.');
}
요렇게 수정하면 될꺼예요 ~~
너무 감사드립니다 ~
덕분에 잘 해결하고 돌아갑니다 ~~
첨에 소스 그대로 넣으니 계속 안되서... 다른 소스랑 비교해보며 고쳐봤는데요..
위에 소스로 해서 안되시는 분들은 아래 소스 참고하세요 ^^
login_check.php 페이지에 수정되는 부분를
if(sql_old_password($mb_password) == $mb['mb_password']){ // old 비번과 같다면 자동으로 업데이트
$new_password = sql_password($mb_password);
sql_query("update {$g5['member_table']} set mb_password = '$new_password ' where mb_id = '{$mb['mb_id']}'");
}else{
alert('가입된 회원아이디가 아니거나 패스워드가 틀립니다.\\n패스워드는 대소문자를 구분합니다.');
}
요렇게 수정하면 될꺼예요 ~~
이글 쓸당시 g4s였습니다.
변수가 $g4->$g5로 바뀜에 따라 말씀하신것처럼 수정하시면 사용이 가능 하십니다. ^^
변수가 $g4->$g5로 바뀜에 따라 말씀하신것처럼 수정하시면 사용이 가능 하십니다. ^^
'$new_password ' >>> '$new_password' 요렇게 변경해야 하겠어요 ~~
공백이 있어서 첨에 로그인할때는 그 비번으로 로그인이 되는데 이후에는 또 로그인 안되는 상황이 발생하더라고요 ~
제가 디자이너라 개발쪽은 전혀 모르는데 공부 정말 많이 됐어요 ~ ㅎㅎ
여러모로 감사드립니다 ^^
공백이 있어서 첨에 로그인할때는 그 비번으로 로그인이 되는데 이후에는 또 로그인 안되는 상황이 발생하더라고요 ~
제가 디자이너라 개발쪽은 전혀 모르는데 공부 정말 많이 됐어요 ~ ㅎㅎ
여러모로 감사드립니다 ^^
감사합니다. 공백이 들어가있었네요
너무 감사합니다. 덕분에 로그인이되요!!
감사합니다. 한참 헤맸는데 잘되네요
감사합니다