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

게시판 wr_password 변경 업데이트 채택완료

scgisdas 7개월 전 조회 4,342

안녕하세요. 

홈페이지의 게시판에 비밀번호를 설정할 수 있고, 추가로 관리자가 게시글의수정페이지에서 비밀번호를 '0000' 으로 초기화할 수 있는 기능을 만들었습니다. 
ajax 로 비밀번호 업데이트 기능을 만들었으며, 아래는 이 기능에 대한 코드 일부 입니다.

 

</p>

<p>if (!$is_admin) {</p>

<p>    write_log("관리자 권한 없음: ".$_SERVER['REMOTE_ADDR']);</p>

<p>    die(json_encode(array('error' => '관리자만 접근 가능합니다.')));</p>

<p>}</p>

<p> </p>

<p>// 초기화할 비밀번호</p>

<p>$new_password = '0000';</p>

<p>$encrypted_password = get_encrypt_string($new_password);</p>

<p> </p>

<p>// 비밀번호 업데이트</p>

<p>$sql = " UPDATE g5_write_apply</p>

<p>         SET wr_password = '{$encrypted_password}'</p>

<p>          WHERE wr_id = '{$wr_id}' ";</p>

<p>$result = sql_query($sql);</p>

<p> </p>

<p>if ($result) {</p>

<p>    // 성공 로그</p>

<p>    $log_msg = date('Y-m-d H:i:s')." | Password Reset Success | ID: {$wr_id} | Name: {$row['wr_name']}\n";</p>

<p>    @file_put_contents($log_file, $log_msg, FILE_APPEND);</p>

<p> </p>

<p>    die(json_encode(array(</p>

<p>        'success' => true,</p>

<p>        'password' => $encrypted_password</p>

<p>    )));</p>

<p>} else {</p>

<p>    // 실패 로그</p>

<p>    $log_msg = date('Y-m-d H:i:s')." | Password Reset Failed | ID: {$wr_id} | Name: {$row['wr_name']}\n";</p>

<p>    @file_put_contents($log_file, $log_msg, FILE_APPEND);</p>

<p> </p>

<p>    die(json_encode(array('error' => '비밀번호 초기화에 실패했습니다.')));</p>

<p>}</p>

<p>

 

위의 코드로 비밀번호가 0000 으로 업데이트되는것을 확인했습니다.

이 비밀번호 초기화 기능은 제 쪽에서는 문제없이 잘 작동합니다. 그런데 저희 홈페이지를 같이 관리하는 다른 업체 측 에서는 비밀번호 초기화가 안된다고 합니다.

초기화를 했을때 성공 메시지가 나오고, 로그에도 성공이라고 나옵니다. 하지만 실제로 비밀번호가 '0000' 으로 업데이트 되지는 않았습니다 .

 

혹시 이에 대한 원인을 알 수 있을까요? 그누보드의 wr_password 부분은 따로 권한이라던가 하는 문제가 있을까요?? (같은 admin 계정을 사용합니다.)

 

 

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

답변 3개

채택된 답변
+20 포인트
제대로는 짜신거같은데.. 전체코드는 올리시지 않으신거같고.. 예측을 하자면

1. common.php 로딩여부
2. {$wr_id} 가 제대로 담겨져 있는지 여부 (코드상 ajax 로 넘어와서 $wr_id 한 라인이 안보임)

$result 는 변경과 상관없이 쿼리가 작동됐다는 판단하에 true 로 적용된거같네요.
제가 볼때 위의 2가지 이외엔 다른게 눈에 보이진 않습니다.
로그인 후 평가할 수 있습니다

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

7개월 전

해당만 봐서는 알기는 힘듭니다. wr_id가 제대로 넘어가고 있는지 한번 확인해보셔야 할 거 같습니다.

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

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

플라이
7개월 전

Db에서 쿼리반영시 오류나는 부분을 확인해보셔야 할듯 합니다.

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

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

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

로그인