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

그누보드 5.4 에서 서버이전후 암호체계 문제 채택완료

동물원 4년 전 조회 2,606

카페24로 서버이전 하고 나서, Mysql 버전에 따른 암호체계 차이를

해결하는 아래 팁을 적용해서 잘 사용해 왔는데요.

 

https://sir.kr/g5_tip/3423">https://sir.kr/g5_tip/3423

 

그누보드 5.4 에서는 login_check.php 파일의 내용이 달라져서요.

그누보드 5.4 에서 위의 팁을 적용하려면 소스를 어떻게 수정해야 할까요?

 

도움 부탁 드립니다.

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

답변 1개

채택된 답변
+20 포인트
e
4년 전

중간에 소스는 그대로 두고 위에 function 2개 추가하고

아래에 체크하는 부분의 if 문을 추가하면 됩니다.

 

</p>

<pre>
<code>function sql_password2($value)
{
    // mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
    // mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
    $row = sql_fetch(" select old_password('$value') as pass ");

    return $row['pass'];
}

// 비밀번호 비교
function check_old_password($pass, $hash)
{
	$password = sql_password2($pass);
    return ($password === $hash);
}

</code>
</pre>

<p>if (!$is_social_password_check && (!$mb['mb_id'] || !login_password_check($mb, $mb_password, $mb['mb_password'])) ) {</p>

<p> </p>

<p>    run_event('password_is_wrong', 'login', $mb);</p>

<p> </p>

<p>    alert('가입된 회원아이디가 아니거나 비밀번호가 틀립니다.\\n비밀번호는 대소문자를 구분합니다.');</p>

<p>}</p>

<pre>
<code>

if(check_old_password($mb_password, $mb['mb_password'])) {
	$sql= " update {$g5['member_table']} set mb_password = password('$mb_password') where mb_id = '{$mb['mb_id']}' ";
    sql_query($sql);
}</code></pre>

<p><code>

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

답변에 대한 댓글 1개

동물원
4년 전
도움 주신 덕분에 잘 해결 했습니다. 상세한 답변 감사 드립니다.

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

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

로그인