PHP버전과 old password관계 질문

PHP버전과 old password관계 질문

QA

PHP버전과 old password관계 질문

본문

영카트 버전업그레이드에 맞추기위해 호스팅서버의 PHP 버전 5.2에서 5.5설치된 서버로 DB를 이번 하였습니다.

 

이후 admin이하 모든 멤버의 로그인이 안됩니다.

 

호스팅측의 답변은..

신규 입주서버의 경우, mysql 의 old password 호환성이 제거된 상태입니다.

대부분의 최근 배포본은 old password 호환을 제공하고 있으나, 그렇지 못한경우, 로그인이 안되실 수 있습니다.

현재 쓰시는 솔루션 배포처에서 관련 검색을 해보셨으면 합니다.

 

위와 같습니다.

이전에 위와같은경우의 팁이 제공된 게시물등 관련자료가 있는지 조언 바랍니다. 

 

혹시 아래 common.lib.php 부분중  일부 수정으로 해결이 가능한지도 보아주셨으면 합니다.

 

lib/common.lib.php에서

function sql_password($value)
{
    // mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
    // mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes

    // mysql 4.1x 이상 버젼에서도 password() 함수의 결과가 16bytes가 되어서
    // 41바이트의 기존 비밀번호 때문에 로그인 오류가 나는 경우에는 아래 코멘트를 풀어주세요
    // 마루호스팅에서 테스트 했습니다.
    sql_query("set old_passwords=0");

    $row = sql_fetch(" select password('$value') as pass ");
    return $row[pass];
}  

이 질문에 댓글 쓰기 :

답변 2

    $row = sql_fetch(" select old_password('$value') as pass ");


old_password 는 mysql 함수입니다.

위처럼 수정해서 되는지 테스트해보세요

덕분에 해결되었습니다.
다시한번 감사의말씀 드립니다.
이렇게되면 이후의 모든 가입자도 현행같이 16바이트 패스워드 체계에 맞추어지는건지요?
아니면 기존은 16바이트, 이후는 41바이트 패스워드 체계가 되는건지요?

16바이트입니다.

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 9
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT