APM_Setup 7 버전 업그레이드 후 로그인 문제 해결방안좀 알려주세요 정보
APM_Setup 7 버전 업그레이드 후 로그인 문제 해결방안좀 알려주세요관련링크
본문
apmsetup 홈페이지에 해결방안이라고 올라왔는데요...
------------------내용----------------
------------------내용----------------
APM_Setup 7 버전 업그레이드 후 로그인 문제가 발생한다.
이것은 MySql 버전에 따른 password() 함수의 변경으로 인한 문제이다.
common.lib.php의 sql_password() 함수의 내용을 다음과 같이 변경하면 된다.
function sql_password($value)
{
// mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
// mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
// 하위버전 DB 호환을 위해 password() --> old_password() 함수로 변경해줌.
$row = sql_fetch(" select old_password('$value') as pass ");
return $row[pass];
}
----------------------------------------------------------
이렇게 하고 신규가입하면 로그인이 되는데, 최초설치하는 관리자는 로그인이 안됩니다.
관리자가 로그인이 안되면 무슨소용일까하는데요..
해결방법이 없을까요?
이것은 MySql 버전에 따른 password() 함수의 변경으로 인한 문제이다.
common.lib.php의 sql_password() 함수의 내용을 다음과 같이 변경하면 된다.
function sql_password($value)
{
// mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
// mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
// 하위버전 DB 호환을 위해 password() --> old_password() 함수로 변경해줌.
$row = sql_fetch(" select old_password('$value') as pass ");
return $row[pass];
}
----------------------------------------------------------
이렇게 하고 신규가입하면 로그인이 되는데, 최초설치하는 관리자는 로그인이 안됩니다.
관리자가 로그인이 안되면 무슨소용일까하는데요..
해결방법이 없을까요?
댓글 전체
function sql_password_old($value)
{
// mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
// mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
// 하위버전 DB 호환을 위해 password() --> old_password() 함수로 변경해줌.
$row = sql_fetch(" select old_password('$value') as pass ");
return $row[pass];
}
function sql_password($value)
{
$row = sql_fetch(" select password('$value') as pass ");
return $row[pass];
}
이렇게 변경하시고요
bbs/login_check.php에
if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password] && sql_password_old($mb_password) != $mb[mb_password])) {
alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다.");
}
이렇게 수정하시면됩니다
{
// mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
// mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
// 하위버전 DB 호환을 위해 password() --> old_password() 함수로 변경해줌.
$row = sql_fetch(" select old_password('$value') as pass ");
return $row[pass];
}
function sql_password($value)
{
$row = sql_fetch(" select password('$value') as pass ");
return $row[pass];
}
이렇게 변경하시고요
bbs/login_check.php에
if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password] && sql_password_old($mb_password) != $mb[mb_password])) {
alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다.");
}
이렇게 수정하시면됩니다
감사합니다!!
g4_path/lib/common.lib.php 파일인가요?