게시판 wr_password 변경 업데이트
본문
안녕하세요.
홈페이지의 게시판에 비밀번호를 설정할 수 있고, 추가로 관리자가 게시글의수정페이지에서 비밀번호를 '0000' 으로 초기화할 수 있는 기능을 만들었습니다.
ajax 로 비밀번호 업데이트 기능을 만들었으며, 아래는 이 기능에 대한 코드 일부 입니다.
if (!$is_admin) {
write_log("관리자 권한 없음: ".$_SERVER['REMOTE_ADDR']);
die(json_encode(array('error' => '관리자만 접근 가능합니다.')));
}
// 초기화할 비밀번호
$new_password = '0000';
$encrypted_password = get_encrypt_string($new_password);
// 비밀번호 업데이트
$sql = " UPDATE g5_write_apply
SET wr_password = '{$encrypted_password}'
WHERE wr_id = '{$wr_id}' ";
$result = sql_query($sql);
if ($result) {
// 성공 로그
$log_msg = date('Y-m-d H:i:s')." | Password Reset Success | ID: {$wr_id} | Name: {$row['wr_name']}\n";
@file_put_contents($log_file, $log_msg, FILE_APPEND);
die(json_encode(array(
'success' => true,
'password' => $encrypted_password
)));
} else {
// 실패 로그
$log_msg = date('Y-m-d H:i:s')." | Password Reset Failed | ID: {$wr_id} | Name: {$row['wr_name']}\n";
@file_put_contents($log_file, $log_msg, FILE_APPEND);
die(json_encode(array('error' => '비밀번호 초기화에 실패했습니다.')));
}
위의 코드로 비밀번호가 0000 으로 업데이트되는것을 확인했습니다.
이 비밀번호 초기화 기능은 제 쪽에서는 문제없이 잘 작동합니다. 그런데 저희 홈페이지를 같이 관리하는 다른 업체 측 에서는 비밀번호 초기화가 안된다고 합니다.
초기화를 했을때 성공 메시지가 나오고, 로그에도 성공이라고 나옵니다. 하지만 실제로 비밀번호가 '0000' 으로 업데이트 되지는 않았습니다 .
혹시 이에 대한 원인을 알 수 있을까요? 그누보드의 wr_password 부분은 따로 권한이라던가 하는 문제가 있을까요?? (같은 admin 계정을 사용합니다.)
!-->
답변 3
제대로는 짜신거같은데.. 전체코드는 올리시지 않으신거같고.. 예측을 하자면 1. common.php 로딩여부 2. {$wr_id} 가 제대로 담겨져 있는지 여부 (코드상 ajax 로 넘어와서 $wr_id 한 라인이 안보임)
$result 는 변경과 상관없이 쿼리가 작동됐다는 판단하에 true 로 적용된거같네요. 제가 볼때 위의 2가지 이외엔 다른게 눈에 보이진 않습니다.
Db에서 쿼리반영시 오류나는 부분을 확인해보셔야 할듯 합니다.
해당만 봐서는 알기는 힘듭니다. wr_id가 제대로 넘어가고 있는지 한번 확인해보셔야 할 거 같습니다.
답변을 작성하시기 전에 로그인 해주세요.