채택완료

php7 sql 문의 드려요

2025-03-10 (월) 12:10:53 2,590

$sql = " select * from $g5[member_table] where mb_id = '$mb_id' and mb_password = '".sql_password($mb_password)."' ";
$mb = sql_fetch($sql);

if (!$mb[mb_id])  {

 .... 내용 비밀번호 오류 ...

}

아이디 비밀번호 확인 부탁드립니다.

php7 에서 .sql_password($mb_password). 안 먹히는 같은데요 조언 부탁드립니다.

|

답변 3개

채택된 답변
+20 포인트

1. 비번이 어떤 모양으로 저장 되어잇는지 부터 확인

*A4B61~~~~~~<=== sql_password 사용 가능

sha256:12000:o~~~~<===이런 형태면 비번 비교 불가

2. php7 에서 .sql_password($mb_password). 안 먹히는 같은데요

<==이 말로 추측하자면 비번 암호화 방식이 바뀌고 난 후의 그누보드 버젼 같은데

 이것은 같은 비번이라도 다른 문자로 암호화 되므로 비교할 수 없는 구조입니다

3. php7 이라면 쿼리 구분 오류부터 나올 것 같습니다

$mb = sql_fetch($sql, true); 이렇개 하면 오류 나옵니다

수정 ===>   select * from {$g5['member_table']}

2025-03-10 (월) 12:30:37

php 버전이 문제가 아니라 그누보드 비밀번호 암호화 방식이 변경되었습니다.

lib/common.lib.php 파일에서 login_password_check 참고해보시면 될 거 같습니다.

아래 부분을 수정해 보세요.

  • 수정 전: $g5[member_table]
  • 수정 후: {$g5['member_table']}

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