[G4/G5] MySQL 4.1.x, 5.x 로 생성된 password (41byte)를 MySQL 4.0.x 이하(16byte)로 변경 > 기술자료 | 해피정닷컴

[G4/G5] MySQL 4.1.x, 5.x 로 생성된 password (41byte)를 MySQL 4.0.x 이하(16byte)로 변경 > 기술자료

본문 바로가기

사이트 내 전체검색

[G4/G5] MySQL 4.1.x, 5.x 로 생성된 password (41byte)를 MySQL 4.0.x 이하(16byte)로 변경 > 기술자료

그누보드 [G4/G5] MySQL 4.1.x, 5.x 로 생성된 password (41byte)를 MySQL 4.0.x 이하(16byte)로 변경

페이지 정보


본문

패스워드(비밀번호) 41bite 버전에서 16bite 버전으로 옮겨야할 경우
기존홈피가 41bite 암호방식을 하는 DB를 사이트 이전의 이유로 16bite 버전으로 옮겨야할 경우

이럴때는 sql_query("set old_passwords=OFF");  을 적절하게 사용하여 설정을 변경해야 합니다.
로그인 성공시 비밀번호가 16바이트이면 41바이트로 변경됩니다.


[ 그누보드4 ]

1. 그누보드4 / lib / common.lib.php   1175 ~ 1181줄

function sql_password($value)
{
    // mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
    // mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
    $row = sql_fetch(" select password('$value') as pass ");
    return $row[pass];
}

를 다음과 같이 변경

function sql_old_password($value)
{
    // mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
    // mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
 
    sql_query("set old_passwords=OFF");
    $row = sql_fetch(" select password('$value') as pass ");
    return $row[pass];
}

function sql_password($value)
{
    // mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
    // mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
    sql_query("set old_passwords=ON");
    $row = sql_fetch(" select password('$value') as pass ");
    return $row[pass];
}


2. 그누보드4 / bbs / login_check.php  25~27줄

if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password])) {
    alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다.");
}

를 다음과 같이 변경

if (sql_old_password($mb_password) == $mb[mb_password]) { // 옛날 패스워드를 새로운 패스워드로 바꿉니다.
    $sql = " update {$g4['member_table']} set mb_password='".sql_password($mb_password)."' where mb_id='{$mb_id}' ";
} elseif (!$mb['mb_id'] || (sql_password($mb_password) != $mb['mb_password'])) {
    alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다.");
}


참고자료
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=32080
http://vndfbfkd.tistory.com/609



[ 그누보드5 ]

1. 그누보드5.2 / bbs / login_check.php  17~18줄

if (!$mb['mb_id'] || !check_password($mb_password, $mb['mb_password'])) {
    alert('가입된 회원아이디가 아니거나 비밀번호가 틀립니다.\\n비밀번호는 대소문자를 구분합니다.');
}

를 다음과 같이 변경

function check_old_password($value) {
    // mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
    // mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
    $row = sql_fetch(" select old_password('$value') as pass ");
    return $row[pass];
}
if (!$mb['mb_id'] || (!check_password($mb_password, $mb['mb_password']) && !check_old_password($mb_password, $mb['mb_password']))) {
    alert('가입된 회원아이디가 아니거나 비밀번호가 틀립니다.\\n비밀번호는 대소문자를 구분합니다.');
} elseif (check_old_password($mb_password) == $mb[mb_password]) { // 옛날 비밀번호를 새로운 비밀번호로 바꿉니다.
    //$sql = " update {$g5['member_table']} set mb_password='".sql_password($mb_password)."' where mb_id='{$mb_id}' ";
    sql_query($sql);




참고자료
http://sir.kr/g5_tip/3423 
https://sir.kr/qa/191265 



MySQL 4.0이하 생성된 회원password 및 비회원 게시글 비밀번호를 MySQL 4.1, 5.x 로 변경하는 방법
https://www.happyjung.com/lecture/320

댓글목록

등록된 댓글이 없습니다.


Total 2,641건 54 페이지
  • RSS
기술자료 목록
1581
영카트   14818  2014-08-09 16:45  
1580
호스팅   16728  2014-08-08 15:18 ~ 2020-12-18 11:44  
1579
영카트   23737  2014-08-08 01:14 ~ 2021-08-26 15:47  
1578
영카트   13723  2014-08-06 23:20  
1577
Adobe   13737  2014-08-06 02:23  
1576
영카트   13401  2014-08-05 18:57  
1575
영카트   14092  2014-08-03 18:23  
1574
일반   13307  2014-07-17 17:15  
1573
Search   13913  2014-07-17 16:12  
1572
영카트   13786  2014-07-17 15:54  
열람
그누보드   20706  2014-07-15 01:14 ~ 2019-12-17 09:47  
1570
일반   21151  2014-06-27 20:03  
1569
영카트   16977  2014-06-16 05:40 ~ 2017-02-09 00:00  
1568
영카트   23762  2014-06-14 15:19  
1567
HTML   19439  2014-06-13 17:00 ~ 2016-09-08 00:00  
1566
HTML   27862  2014-06-13 11:01 ~ 2018-06-23 19:15  
1565
그누보드   81372  2014-06-07 22:13 ~ 2017-09-07 00:00  
1564
그누보드   17104  2014-05-31 17:42 ~ 2021-03-03 14:50  
1563
그누보드   12587  2014-05-31 15:08  
1562
그누보드   17959  2014-05-28 10:35 ~ 2023-01-20 11:50  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2025 해피정닷컴. All Rights Reserved.