그누보드 5.3.x => 5.4.x로 업데이트후 로그인문제
본문
제가 다른 데이터베이스랑 그누보드 로그인 아이디 비밀번호를 함께 사용하고있습니다.
즉 그누가입된 아이디와 비밀번호를 다른프로그램에서 확인후 맞으면 해당아이디를 프로그램에서 변수로 가져와 독립된 db에 데이터를 쌓고 거기에 아이디를 사용하는데요
기존 5.3 이하일때는 유저 비밀번호 저장방식이 password('1234') 이런식으로 g5_member테이블을 쿼리해온후 비교해서 로그인체크를 했습니다.
예) select mb_id from g5_member where mb_password = password('1234567') and mb_id='abcde' 이런식이었죠
그런데 이번에 5.4.x 이후버젼으로 바뀌면서 구조가 틀려졌네요.
mb_password = password('1234567') <<<< 이부분을
어떤식으로 쿼리를 수정해야 되는지 모르겠습니다.
도움부탁드립니다.
답변 2
mysql 8.0 버전 이상부터 mysql password 함수가 사라졌습니다.
그누보드5.4 버전 이상부터는 더 이상 sql 쿼리로 비밀번호를 비교할수 없으며,
php 로 비교해야 합니다.
check_password("비밀번호값", "hash값");
true 또는 false 값으로 받습니다.
login_password_check($mb, $mb_password, $mb['mb_password']) 를 이용하시면 됩니다.
/bbs/login_check.php 32 Line 참고하시구요.
해당함수는 common.lib.php의 3238 Line을 참고하세요.
답변을 작성하시기 전에 로그인 해주세요.