봇 가입 방지 코드 질문이요.
본문
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"
다만 웹접근성으로 보면 스크립트가 동작 안하면 가입을 할 수가 없는 상태가 되어 바람직한 방법으로 보이진 않습니다. 그누보드에 내장돼있는 캡챠나 구글리캡챠를 사용해보시는건 어떨까 싶습니다.
!-->