그누보드 비밀번호 필드 BLOB 타입 변경 및 UNHEX 암호화 적용 가이드
페이지 정보

본문
그누보드 비밀번호 필드 BLOB 타입 변경 및 UNHEX 암호화 적용 가이드
그누보드 운영자 및 개발자가 회원 및 게시물 비밀번호 필드를 기존 varchar에서 BLOB 타입으로 변경하고, MySQL의 UNHEX 함수를 활용한 암호화 방식을 적용할 때 필요한 구체적인 파일 수정 절차와 주의사항을 안내합니다.
그누보드 비밀번호 필드 BLOB 타입 변경 및 UNHEX 암호화 적용 가이드
그누보드 환경에서 회원 및 게시물 비밀번호 필드를 varchar에서 BLOB 타입으로 변경하고 MySQL 5.6 이상에서 지원하는 UNHEX 함수 기반 암호화 방식을 적용하려면, 설치 SQL 파일과 회원·게시물 처리 관련 PHP 파일을 수정해야 합니다.
1. 데이터베이스(SQL) 설정 변경
설치 전 또는 DB 설정 파일에서 필드 속성을 변경합니다.
install/gnuboard5.sql파일- 수정 전:
`mb_password` varchar(255) NOT NULL default '', - 수정 후:
`mb_password` blob NOT NULL default '', `mb_password1` varchar(255) NOT NULL default '',- 수정 전:
adm/sql_write.sql파일- 수정 전:
`wr_password` varchar(255) NOT NULL, - 수정 후:
`wr_password` blob NOT NULL, `wr_password1` varchar(255) NOT NULL,- 수정 전:
2. PHP 파일 수정 내역
비밀번호를 저장하고 처리하는 로직에서 get_encrypt_string 함수 대신 UNHEX() 함수를 적용하고 password1 필드를 동시에 저장하도록 수정합니다.
adm/member_form_update.php- 회원 가입 및 관리자 수정 쿼리 내에서
mb_password를UNHEX(get_encrypt_string(...))로 변경하고mb_password1을 함께 설정합니다.
- 회원 가입 및 관리자 수정 쿼리 내에서
bbs/register_form_update.php- 회원 가입 갱신 처리 파일에서
mb_password에UNHEX()를 적용하고mb_password1필드를 함께 저장하도록 수정합니다.
- 회원 가입 갱신 처리 파일에서
bbs/write_common_update.php및bbs/write_update.php- 글 작성·수정 시 입력된 게시물 비밀번호를 변수에 담아
$wr_password = UNHEX(get_encrypt_string($up_password));형태로 처리하고,$wr_password1필드에 암호화된 문자열을 함께 저장합니다.
- 글 작성·수정 시 입력된 게시물 비밀번호를 변수에 담아
bbs/move_update.php- 게시물 이동 처리 시
wr_password1 = '{$row2['wr_password1']}',항목을 추가합니다.
- 게시물 이동 처리 시
주의사항 본 적용 방식은 신규 세팅 또는 충분한 테스트 환경을 기준으로 하며, 기존 데이터와의 호환성 문제가 발생할 수 있으므로 실서비스 적용 전 테스트 서버에서 검증이 필요합니다.
회원 테이블 비밀번호 필드 BLOB 및 UNHEX 적용의 배경과 특징
그누보드 회원(mb_password) 및 게시물(wr_password) 비밀번호 필드를 varchar 대신 BLOB 타입으로 설정하고 UNHEX 방식을 적용하는 구조는 특정 커스텀 요청이나 보안 요건에 따른 시스템 구축 방식입니다.
- 적용 환경 조건: MySQL 5.6 이상 버전에서 도입된
UNHEX함수를 기반으로 동작합니다. - 구조적 차이: 일반적인
$mb_password = get_encrypt_string($mb_password)방식과 달리, 암호화된 문자열에UNHEX()함수를 감싸서 바이트 형태로 저장하는 방식을 취합니다.
BLOB 타입 및 UNHEX 암호화 적용 시 주의사항
- 호환성 및 테스트 주의: 새로 세팅하여 충분히 테스트된 상태가 아니므로 실제 운영 환경에 적용하기 전 주의가 필요합니다.
- 암호화 체계 변경에 따른 문제: 기존 회원 테이블 등에 저장되어 있는 패스워드 암호화 체계와 달라지기 때문에 사전 테스트 없이 임의로 방식을 변경하면 로그인 오류나 패스워드 불일치 문제가 발생할 수 있습니다.
- 권장 조치: 실서비스 적용 전 반드시 테스트 서버나 신규 세팅 환경에서 호환성과 기능 동작을 충분히 검증한 후 진행해야 합니다.
함께 보면 좋은 글
- MD5에서 SHA256으로 비밀번호 암호화 마이그레이션 및 하위 호환성 처리 방법
- 그누보드 게시판 본문 글자 수 제한 해제 및 DB 필드 타입 변경 방법
- MySQL과 PHP 환경에서의 비밀번호 해시 함수 취약점 분석 및 보안 강화 가이드
참고자료
기타 참고자료
- 다음글그누보드5 출석부 플러그인 설치 및 환경 설정 가이드 26.11.01
댓글목록
등록된 댓글이 없습니다.