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

자동등록방지 만 다시 입력하는 방법이 있나요? 채택완료

alexseo 8개월 전 조회 1,426

자동등록방지가 틀린 경우 

현재 게시판 글쓰기에서 필드 값을 처음부터 다시 입력을 해야합니다.

 

자동등록방지가 틀린 경우

자동등록방지 만 다시 입력하는 방법이 있나요?

감사합니다.

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

답변 2개

채택된 답변
+20 포인트
glitter0gim
8개월 전

자동등록방지 확인을 입력 후 제출하기 전에

AJAX를 통해 별도의 검증 프로세스를 추가하는 방법이여야겠습니다.

스크랩할 과제이다 싶어 정리해 봅니다. 피드백 주세요.

1. bbs/ajax_captcha_check.php (신규 생성)

- 이 파일은 자동등록방지 값을 미리 검증하는 역할

include_once('./_common.php');

 

session_start();

 

$captcha = isset($_POST['captcha']) ? trim($_POST['captcha']) : '';

 

if (!$captcha) {

    echo json_encode(['status' => 'error', 'message' => '자동등록방지 값을 입력하세요.']);

    exit;

}

 

if ($captcha !== $_SESSION['ss_captcha']) {

    echo json_encode(['status' => 'error', 'message' => '자동등록방지 값이 틀렸습니다.']);

    exit;

}

 

// 성공 응답

echo json_encode(['status' => 'success']);

exit;

?>

 

2. bbs/write.skin.php 수정

- 자동등록방지 입력 후 미리 검증하는 기능을 추가

" target="_blank" rel="noopener noreferrer">https://code.jquery.com/jquery-3.6.0.min.js">

 

 

 

3. 백엔드 검증 로직 수정 (bbs/write_update.php)

- 기존 자동등록방지 검증을 AJAX에서 미리 수행하도록 하고,

  서버에서는 AJAX 검증을 통과한 경우에만 처리하도록 변경

session_start();

// 기존 자동등록방지 검증 제거 // if ($_POST['captcha'] !== $_SESSION['ss_captcha']) { //     alert('자동등록방지 코드가 맞지 않습니다.'); // }

if (!isset($_SESSION['captcha_verified']) || $_SESSION['captcha_verified'] !== true) {     alert('자동등록방지를 확인해주세요.'); }

// 게시글 작성 로직 실행 unset($_SESSION['captcha_verified']); // 성공 후 세션 초기화

// 나머지 기존 코드 유지... ?>

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

답변에 대한 댓글 2개

a
alexseo
8개월 전
답변 감사합니다.
현재 제가 나리야를 사용하고 있습니다.

1. bbs/ajax_captcha_check.php => 신규 생성을 해서 넣었습니다.
2. bbs/write.skin.php 수정 => 저는 이 폴더 속에 write.skin.php 파일이 없습니다.
3. bbs/write_update.php => 이 파일 안내 수정하라는 코드가 없습니다.

게시판
/skin/board/BS-Basic-List/write.skin.php 안에 아래의 코드가 있습니다.

<?php if ($captcha_html) { //자동등록방지 ?>
<li class="list-group-item">
<div class="form-group row mb-0">
<label class="col-md-2 col-form-label">자동등록방지</label>
<div class="col-md-10 f-small">
<?php echo $captcha_html; ?>
</div>
</div>
</li>
<?php } ?>


감사합니다.
g
glitter0gim
8개월 전
질문 개요에 특정이 없으셨으니,.
백엔드 검증 로직은 추가(수정)하여 커스텀하시고
해당 스킨의 write_update.php를 커스텀하셔야겠지요~
. . .
저의 방안을 이해하신 것으로 보이며,
이미 스킨 파일 위치나 필요한 수정 사항에 대해 충분히 파악하신 것으로 보입니다만~

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

플라이
8개월 전

자동등록방지 체크처리를 하는 부분을 전송하기전에 ajax로 자동등록방지 체크하는 페이지를 별도 만들어서 체크하고 적용하도록 처리하시면 효율적으로 가능하지 않을까 생각됩니다.

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

답변에 대한 댓글 1개

a
alexseo
8개월 전
답변 감사합니다.
어렵네요. ㅠㅠ

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

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

로그인