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

질문일 수도 있고 버그일 수도 있는 질문입니다. 채택완료

59xk 4년 전 조회 1,640

</p>

<p>else if ($w == 'u')

{

    $mb = get_member($mb_id);

    if (! (isset($mb['mb_id']) && $mb['mb_id']))

        alert('존재하지 않는 회원자료입니다.');</p>

<p>    if ($is_admin != 'super' && $mb['mb_level'] >= $member['mb_level'])

        alert('자신보다 권한이 높거나 같은 회원은 수정할 수 없습니다.');</p>

<p>    if ($is_admin !== 'super' && is_admin($mb['mb_id']) === 'super' ) {

        alert('최고관리자의 비밀번호를 수정할수 없습니다.');

    }</p>

<p>    if ($mb_id === $member['mb_id'] && $_POST['mb_level'] != $mb['mb_level'])

        alert($mb['mb_id'].' : 로그인 중인 관리자 레벨은 수정 할 수 없습니다.');</p>

<p>    // 닉네임중복체크

    $sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_nick = '{$mb_nick}' and mb_id <> '$mb_id' ";

    $row = sql_fetch($sql);

    if (isset($row['mb_id']) && $row['mb_id'])

        alert('이미 존재하는 닉네임입니다.\\nID : '.$row['mb_id'].'\\n이름 : '.$row['mb_name'].'\\n닉네임 : '.$row['mb_nick'].'\\n메일 : '.$row['mb_email']);</p>

<p>    // 이메일중복체크

    $sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_email = '{$mb_email}' and mb_id <> '$mb_id' ";

    $row = sql_fetch($sql);

    if (isset($row['mb_id']) && $row['mb_id'])

        alert('이미 존재하는 이메일입니다.\\nID : '.$row['mb_id'].'\\n이름 : '.$row['mb_name'].'\\n닉네임 : '.$row['mb_nick'].'\\n메일 : '.$row['mb_email']);</p>

<p>    if ($mb_password)

        $sql_password = " , mb_password = '".get_encrypt_string($mb_password)."' ";

    else

        $sql_password = "";</p>

<p>    if (isset($passive_certify) && $passive_certify)

        $sql_certify = " , mb_email_certify = '".G5_TIME_YMDHIS."' ";

    else

        $sql_certify = "";</p>

<p>    $sql = " update {$g5['member_table']}

                set {$sql_common}

                     {$sql_password}

                     {$sql_certify}

                where mb_id = '{$mb_id}' ";

    sql_query($sql);

}</p>

<p>

 

https://github.com/gnuboard/gnuboard5/blob/master/adm/member_form_update.php

파일에서 회원정보를 관리자가 수정 할 때에 경우 ($w == 'u') 내용 입니다.

 

155번 줄 보시면 아래와 같이 되어있는데

 

</p>

<p>    if ($mb_password)

        $sql_password = " , mb_password = '".get_encrypt_string($mb_password)."' ";

    else

        $sql_password = "";</p>

<p>    if (isset($passive_certify) && $passive_certify)

        $sql_certify = " , mb_email_certify = '".G5_TIME_YMDHIS."' ";

    else

        $sql_certify = "";</p>

<p>

 

위에 부분을 보면

if ($mb_password)

if (isset($passive_certify) && $passive_certify)

위 와 같은 경우 isset이 되어 있지 않고

PHP8 관련하여 많이 수정 된 것으로 알고 있는데

if (isset($_POST['mb_password']) && $_POST['mb_password'])

이러한 형태로 수정되어야 하는게 아닌가 하는 생각이 들어서 글을 올립니다.

 

다른 이유가 있어서 저렇게 하신건지 아니면

수정해야 맞는건데 안하시는건지 궁금합니다.

 

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

답변 1개

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

버그라 생각되는 부분은 사소한 부분이라도 버그 게시판에 전부 제보하시면 됩니다.

https://sir.kr/cm_bug?sca=%EA%B7%B8%EB%88%84%EB%B3%B4%EB%93%9C5

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

답변에 대한 댓글 1개

5
59xk
4년 전
이정도 내용도 올려도 되는가 해서 안올렸는데
버그게시판에 올렸습니다 감사합니다.

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

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

로그인