[etc] [펌]mysql 버젼업에 따른 패스워드 문제 해결
본문
/lib/common.lib.php 에 다음 함수를 추가 합니다.
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의 15라인을 다음과 같이 수정 합니다.
if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password] and sql_old_password($mb_password) != $mb[mb_password]))
/bbs/register_form.php의 66라인을 다음과 같이 수정
if (!($member[mb_password] == sql_password($_POST[mb_password]) && $_POST[mb_password]) && !($member[mb_password] == sql_old_password($_POST[mb_password]) && $_POST[mb_password]))
그러면 새로운 사용자는 새로운 패스워드로, 옛날 사용자는 옛날 패스워드로 login check를 하게 됩니다.
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의 15라인을 다음과 같이 수정 합니다.
if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password] and sql_old_password($mb_password) != $mb[mb_password]))
/bbs/register_form.php의 66라인을 다음과 같이 수정
if (!($member[mb_password] == sql_password($_POST[mb_password]) && $_POST[mb_password]) && !($member[mb_password] == sql_old_password($_POST[mb_password]) && $_POST[mb_password]))
그러면 새로운 사용자는 새로운 패스워드로, 옛날 사용자는 옛날 패스워드로 login check를 하게 됩니다.
추천0
관련링크
댓글목록 0
등록된 댓글이 없습니다.