인클루드된 상담문의폼에 글을 남기면 자동등록방지 팝업이 뜹니다! 채택완료
https://sir.kr/g5_skin/25290#c_61031
안녕하세요
https://sir.kr/bbs/profile.php?mb_id=a21991662" onclick="return false;" rel="nofollow" target="_blank" title="조아웹 자기소개">조아웹님이 올려주신 상담 폼을 잘 사용하고 있습니다.
최근에 발견한 오류인데요.
비회원으로 상담신청을 하면 자동등록방지 숫자가 틀렸다는 팝업이 뜹니다.
회원이 남기면 잘 남겨집니다.
혹시 해결방안이 있을까요..? 도와주세요 ㅠㅠ
답변 2개
CAPTCHA 기능을 유지하되, 비회원 요청이 정상적으로 처리되도록
bbs/write_update.php에서 CAPTCHA 검증 로직을 조건적으로 처리하게 수정하면 어떨까요.
*bbs/write_update.php에서 비회원 요청 시 CAPTCHA 검증을 선택적으로 처리
if ($is_use_captcha && $is_guest && !chk_captcha()) {
alert('자동등록방지 숫자가 틀렸습니다.');
exit;
}
</p>
<p>if ($is_use_captcha) {
if ($is_guest && !chk_captcha()) {
alert('자동등록방지 숫자가 틀렸습니다.');
exit;
}
// 추가 검증 로직이 필요한 경우 여기에 작성
}</p>
<p>
CAPTCHA 세션과 입력값이 일치하지 않는 이유를 확인하기 위해, 로그를 추가하여 디버깅
</p>
<p>if ($is_use_captcha) {
error_log('Session CAPTCHA: ' . $_SESSION['captcha_key']);
error_log('Posted CAPTCHA: ' . $_POST['captcha_key']);
}</p>
<p>
*. ./skin/online/write_update.head.skin.php에 아래 코드를 사용
</p>
<p><?php
if (!defined('_GNUBOARD_')) exit;</p>
<p>// CAPTCHA 초기화
$keystring = uniqid();
set_session("ss_captcha_key", $keystring);
?></p>
<p>
답변에 대한 댓글 2개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인