봇 가입 방지 코드 질문이요.

봇 가입 방지 코드 질문이요.

QA

봇 가입 방지 코드 질문이요.

답변 1

본문

 

 

http://sir.kr/g4_tiptech/34251

야레야엘님께서 올려주신 팁인데요.

 

bbs\register_form_update.php

파일 수정하는 부분을 잘 모르겠네요.

if문을 넣는 위치가 잘못 되었는지 경고창이 계속 나오네요.

같은 문제로 댓글 다신 분이 있던데.. 답이 없어서 질게에 올려봅니다...

 

register_form_update.php 어느 부분에 입력해야하는지 아시는 분 계시면 도움 주시면 감사드릴게요.

요즘 하루에 수십개씩 봇이 가입하고 있어서 일일이 삭제해주기 너무 번거롭네요.ㅜㅠ

 

http://sir.kr/g4_tiptech/34251 링크에서 보시면

if($_POST[register_shield] != "bot_out" && $w != "u"){
 alert("정상적인 방법으로 가입해주세요.", $g4[path]);
}

 

 혹시 위 코드에서

[register_shield] != "bot_out" 이것을

[register_shield] == "bot_out" 이렇게 수정해야 되나요?

이 질문에 댓글 쓰기 :

답변 1

아마도 <input type=hidden name=register_shield> 이 항목이 form 바깥에 붙은게 아닐까 싶습니다.

이 부분은 삭제하시고 스크립트 부분을 아래처럼 수정해보세요.


<script>
$( "#reg_mb_id" ).focus(function() {
    var $form = $(this).closest('form');
    if (!$form.find('input[name=register_shield]').length)
        $form.append('<input type="hidden" name="register_shield" value="bot_out">');
    var $register_shield = $form.find('input[name=register_shield]');
    if ($register_shield.attr('value') != 'bot_out')
        $register_shield.attr('value', 'bot_out');
});
</script>

언급하신 if문은 원본이 맞습니다. $_POST[register_shield] != "bot_out"

 

다만 웹접근성으로 보면 스크립트가 동작 안하면 가입을 할 수가 없는 상태가 되어 바람직한 방법으로 보이진 않습니다. 그누보드에 내장돼있는 캡챠나 구글리캡챠를 사용해보시는건 어떨까 싶습니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 10,637
© SIRSOFT
현재 페이지 제일 처음으로