[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,634건 54 페이지
  • RSS
기술자료 목록
1574
영카트   14780  2014-08-09 16:45  
1573
호스팅   16702  2014-08-08 15:18 ~ 2020-12-18 11:44  
1572
영카트   23642  2014-08-08 01:14 ~ 2021-08-26 15:47  
1571
영카트   13695  2014-08-06 23:20  
1570
Adobe   13712  2014-08-06 02:23  
1569
영카트   13373  2014-08-05 18:57  
1568
영카트   14053  2014-08-03 18:23  
1567
일반   13284  2014-07-17 17:15  
1566
Search   13877  2014-07-17 16:12  
1565
영카트   13757  2014-07-17 15:54  
열람
그누보드   20655  2014-07-15 01:14 ~ 2019-12-17 09:47  
1563
일반   21126  2014-06-27 20:03  
1562
영카트   16959  2014-06-16 05:40 ~ 2017-02-09 00:00  
1561
영카트   23713  2014-06-14 15:19  
1560
HTML   19396  2014-06-13 17:00 ~ 2016-09-08 00:00  
1559
HTML   27829  2014-06-13 11:01 ~ 2018-06-23 19:15  
1558
그누보드   81332  2014-06-07 22:13 ~ 2017-09-07 00:00  
1557
그누보드   17065  2014-05-31 17:42 ~ 2021-03-03 14:50  
1556
그누보드   12558  2014-05-31 15:08  
1555
그누보드   17907  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~2024 해피정닷컴. All Rights Reserved.