mysql 버젼업에 따른 패스워드 문제
본문
원본
http://sir.kr/g4_tiptech/21757
<bbs/login_check.php 수정>
원본 - line 26~28
-----------------------------------------
if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password])) {
alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다.");
}
-----------------------------------------
=>
수정본
-----------------------------------------
if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password] and sql_old_password($mb_password) != $mb[mb_password])) {
alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다.");
} else {
if (sql_old_password($mb_password) == $mb[mb_password]) {
$sql_password = " mb_password = '".sql_password($mb_password)."' ";
$sql = " update {$g4[member_table]}
set $sql_password
where mb_id = '$mb[mb_id]' ";
sql_query($sql);
}
}
이렇게 변경을 하면 된다고 하는데
그누보드5는
if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password])) {
위 부분처럼 되어 있지가 않네요.
어떻게 수정을 하면될까요?
답변 2
/common.lib.php 파일의
sql_password 함수에서
function sql_password($value)
{
// mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
// mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
$row = sql_fetch(" select old_password('$value') as pass ");
return $row['pass'];
}
로 수정하시면 될듯..