프로그램을 통한 봇 가입 막기 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

프로그램을 통한 봇 가입 막기 정보

프로그램을 통한 봇 가입 막기

본문

프로그램 봇들은 직접 클릭,tab 등을 통해서 input박스에 입력하지 않기 때문에

이것을 잡아내는게 주요 포인트입니다.

skin\member\basic\register_form.skin.php


<form id="fregisterform" name=fregisterform method=post onsubmit="return fregisterform_submit(this);" enctype="multipart/form-data" autocomplete="off">
<input type=hidden name=w                value="<?=$w?>">
<input type=hidden name=url              value="<?=$urlencode?>">
<input type=hidden name=mb_jumin         value="<?=$jumin?>">
<input type=hidden name=mb_id_enabled    value="" id="mb_id_enabled">
<input type=hidden name=mb_nick_enabled  value="" id="mb_nick_enabled">
<input type=hidden name=mb_email_enabled value="" id="mb_email_enabled">

<!--봇 막기위한 히든 인풋 추가-->
<input type=hidden name=register_shield> 
<script>
$( "#reg_mb_id" ).focus(function() {
  $("input[name=register_shield]").val('bot_out');
});
</script>
<!--끝-->



bbs\register_form_update.php


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








[참고]  http://sir.co.kr/cm_free/1158703 의 빅뱅1님 코멘트를 보고 작성했습니다.
추천
1

댓글 16개

일단 이 방법은 자바스크립트 내에서 value 값이 확인 되기 때문에

봇이 저 값을 파악하면 뚫을수 있으니

그런 봇이 생긴다면 암호화를 통해서 만들어 봐야 될거 같네요.
사실 그런 봇을 막기위한 시도가  captcha 가 등장하게된 배경이죠
input 에 captcha 가 입력되고 submit 하면 넘기기전에 ajax 로 원문을 보내고 인크립트된 데이터를 response 로 받아서 hidden 으로 주고register_update 에서 디크립트하고 캡챠를 체크하게 하면 봇 제작자가 그것까지 만들까 싶기도 하구요
ajax 페이지는 register_form 이외의 페이지는 응답하지않게 해버리면 더 좋을듯 하구요 여러가지 좋은 아이디어를 기대해봅니다 +_+
회원정보수정에서 오류가 나서

if($_POST[register_shield] != "bot_out"){

if($_POST[register_shield] != "bot_out" && $w != "u"){

$w != "u" 를 추가했습니다.
위방법대로 하면 정상적인 방법으로 가입하라고 나옵니다.
if($_POST[register_shield] != "bot_out"){

if($_POST[register_shield] != "bot_out" && $w != "u"){

$w != "u" 를 추가했습니다.

이건 또 어디에 추가해야 하는지요
안녕하세요

해당 코드 적용하고나니 회원 가입할때 무조건 '정상적인 방법으로 가입해주세요' 가 계속 발생합니다.

어느 부분에서 제가 잘못 수정했는지 모르겠네요...

bbs\register_form_update.php에서 자동등록방지 검사 밑에 입력했는데 잘못한건지요?

// 자동등록방지 검사
//include_once ("./norobot_check.inc.php");

$key = get_session("captcha_keystring");
if (!($key && $key == $_POST[wr_key])) {
    unset($_SESSION['captcha_keystring']);
    alert("정상적인 접근이 아닌것 같습니다.");
}

if($_POST[register_shield] != "bot_out" && $w != "u"){
alert("정상적인 방법으로 가입해주세요.", $g4[path]);
}
전체 20 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT