테스트 사이트 - 개발 중인 베타 버전입니다

그누보드 5.4이상에서 비번 형태? 채택완료

이나라왕 2년 전 조회 1,666

안녕하세요?

그누보드 5.4버전이상에서는 패스워드 처리와 저장이 Mysql의 자체 password 처리방식을 사용하지 않는다고 하는데, 시스템에서 특별히 비번을 비교해야 하는 경우가 있어서 코드를 짤 때 난감해진 부분이 있습니다.

가령 두 사용자의 비번을 동일하게 '1234'로 저장을 하고 데이터베이스에서 두 사용자 비번을 확인해 보면

암호화된 문자열이 동일하지가 않은 것을 발견하게 됩니다.

보안상 바람직하다고는 할 수 있지만, 가끔 사용자 비번을 요구해야 할 경우에 어떤 방법으로 비교하는

코딩을 해야 하는지 잘 이해가 가지 않습니다.

여러 사용자 비번을 같은 '1234'로 입력된 비번을 각기 다르게 암호화된 문자열이 난수처럼 발생시켜 저장했음에도 같은 비번입력으로 해당 사용자를 인증하는 방법도 신기한 것 같구요...

일단 가장 궁금한 것은 사용자가 입력한 패스워드가 저장된 비번과 맞는지 확인하는 코딩의 서식입니다.

도움을 주시면 감사하겠습니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
ifelse
2년 전

config.php 파일에 

define('G5_STRING_ENCRYPT_FUNCTION', 'create_hash');

이부분을 create_hash를 sql_password로 세팅하면 

sql_password 방식으로 사용가능 할겁니다.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

이나라왕
2년 전
답변 감사합니다.
그런데 시스템 운영이 진행되는 중에 create_hash를 sql_password로 바꾸어도
적용이 될까요?... mb_password 필드의 데이터들이 다시 바뀌어야 할 것 같은데요...
i
ifelse
2년 전
이미 라이브된 상태라면 mb_password가 이미 pbkdf2 해쉬방식으로 update 되었으니까
지금 config에 설정을 바꿔도 비번이 틀리다고만 나오겠죠..
기존에 그누보드 쓰다가 업데이트 한거라면 아마 멤버단에 mb_password2라는 필드가
새로 생겼을거고 로그인한 회원들은 예전 sql_password방식의 비번을 update 시켜 놨을겁니다.
그 값이 있는지 확인해보세요...

그 값으로 password 통과가 될 수 있는지등 테스트해보시고
create_hash적용 이후에 신규가입한 회원은 mb_password2가 없으니까..
뭔가 다른 조치를 취해야 하지 않나 싶은데여...

댓글을 작성하려면 로그인이 필요합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인