얕고넓은지식/linux

그누보드5 가입된 회원아이디가 아니거나 비밀번호가 틀립니다.

쪽마 2021. 12. 26. 12:59

php 7.4

mysql 8.0

환경에서 로그인이안된다.

 

 

 

출처

https://sir.kr/g5_tip/9410

 

mysql 5.7, mysql 8.0 이상 버전 password 대응하기 (PBKDF2) > SIR

 아래 글은 사용환경 mysql 5.7 , mysql 8.0 이상 버전을 사용하는 분들에게 해당됩니다. <br/> <br/>  <br/> <br/>mysql 5.7 이상부터는  <br/> <br/>  <br/> <br/>최초 설치시 password 설정은 영소문자+영대문자+숫

sir.kr

 

아래 글은 사용환경 mysql 5.7 , mysql 8.0 이상 버전을 사용하는 분들에게 해당됩니다.

gnuboard_pbkdf2.patch.tar.gz
0.04MB

mysql 5.7 이상부터는 

최초 설치시 password 설정은 영소문자+영대문자+숫자+특수문자 조합 8 이상 복잡성을 요구하는 설정으로 설치가 됩니다.

만약에 위의 요구조건을 충족하지 않거나 비밀번호 8자리 이하를 입력받았다면, 그누보드5에서는 패스워드 hash 값을 빈값으로 받게 됩니다. ( 로그인 불가 현상이 일어납니다. )

mysql 5.7에서 암호화 복잡성을 해제 하려면 아래 게시물을 참고하여 mysql 설정값을 변경해서 복잡성을 해제 할수 있습니다.

http://algo79.tistory.com/entry/mysql-57-%EC%9D%B4%EC%83%81-%EC%95%94%ED%98%B8-%EB%B3%B5%EC%9E%A1%EC%84%B1-%ED%95%B4%EC%A7%80%ED%95%98%EA%B8%B0

mysql 8.0 이상부터는 password 함수가 사라졌으므로, password 함수를 사용할수 없습니다.

password 함수를 사용할수 없으므로, 패스워드 hash 값을 빈값으로 받게 됩니다. ( 로그인 불가 현상이 일어납니다. )

위의 문제점을 보완하고자 PBKDF2 를 이용한 코드를 작성해 보았습니다.

PBKDF2 에 대한것은 PHPSCHOOL 의 곰탱이푸님이 올린 글의 자료를 사용했습니다.

https://www.phpschool.com/link/tipntech/78825

첨부파일은 그누보드 5.3.1.8 버전 기준으로 수정된 자료이며,

적용방법은 5.3.1.8 버전이면 그냥 덮어쓰기 하시면 됩니다.

다른 버전을 사용하고 계신분들은 아래 링크 코드를 참고하여 수정해 주세요.

https://github.com/gnuboard/gnuboard5/commit/76aabc8f810a58e43473ed3c682dc14b1beaa16e?diff=split

https://github.com/gnuboard/gnuboard5/commit/c8a9576d6320ff78306f0fa771553aa3c3d3b288

그누보드 5.4 버전 이상부터는 기본패스워드 저장방식이 PBKDF2 으로 변경 되었기 때문에, 5.4 버전이상을 사용하시는 분들은 이 자료를 적용할 필요가 없습니다.

 

해서...편집해서 저장했다

아래 파일 다운받아 설치하면된다

youngcart5.3.3.1.tar.zip
11.28MB

반응형