Mysql 8.x 사용시 password 함수 처리
한동안 관리 안하던 홈페이지를 새로운 서버로 옮기면서 모든 것을 다 업데이트 했습니다.
그런데 로그인이 안되더군요.
찾아보니 mysql 8.x 에서는 pasword 함수가 없어 졌네요.
lib/common.lib.php의 sql_password 함수를 기존 password 대신에 CONCAT('*', UPPER(SHA1(UNHEX(SHA1('$value')))))로 수정 해 주니 되네요.
function sql_password($value)
{
// mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
// mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
// $row = sql_fetch(" select password('$value') as pass ");
$row = sql_fetch(" SELECT CONCAT('*', UPPER(SHA1(UNHEX(SHA1('$value'))))) as pass ");
return $row['pass'];
}
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 4개
라고 하는데...
mysql 8.x 를 사용하시는군요.
사용상 특이점이나 다른 사항이 발견되면 공유 부탁드립니다