영카트 버전업그레이드에 맞추기위해 호스팅서버의 PHP 버전 5.2에서 5.5설치된 서버로 DB를 이번 하였습니다.
이후 admin이하 모든 멤버의 로그인이 안됩니다.
호스팅측의 답변은..
신규 입주서버의 경우, mysql 의 old password 호환성이 제거된 상태입니다.
대부분의 최근 배포본은 old password 호환을 제공하고 있으나, 그렇지 못한경우, 로그인이 안되실 수 있습니다.
현재 쓰시는 솔루션 배포처에서 관련 검색을 해보셨으면 합니다.
위와 같습니다.
이전에 위와같은경우의 팁이 제공된 게시물등 관련자료가 있는지 조언 바랍니다.
혹시 아래 common.lib.php 부분중 일부 수정으로 해결이 가능한지도 보아주셨으면 합니다.
lib/common.lib.php에서
function sql_password($value)
{
// mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
// mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
// mysql 4.1x 이상 버젼에서도 password() 함수의 결과가 16bytes가 되어서
// 41바이트의 기존 비밀번호 때문에 로그인 오류가 나는 경우에는 아래 코멘트를 풀어주세요
// 마루호스팅에서 테스트 했습니다.
sql_query("set old_passwords=0");
$row = sql_fetch(" select password('$value') as pass ");
return $row[pass];
}
답변 2개 / 댓글 2개
$row = sql_fetch(" select old_password('$value') as pass ");
답변에 대한 댓글 1개
16바이트입니다.
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.
다시한번 감사의말씀 드립니다.
이렇게되면 이후의 모든 가입자도 현행같이 16바이트 패스워드 체계에 맞추어지는건지요?
아니면 기존은 16바이트, 이후는 41바이트 패스워드 체계가 되는건지요?