스팸처리 방법( 자동등록방지코드 이미지처리) 정보
스팸처리 방법( 자동등록방지코드 이미지처리)관련링크
첨부파일
본문
기본 이미지생성은 chcode.com의 CHSignup(라이센스:무료)를 사용했습니다.
업로드된 chsignup.zip를 www/chsignup 폴더에 업로드합니다.
bbs/norobot.inc.php 파일을 아래로 대처합니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
/*
** $norobot_str 와 $_SESSION[ss_norobot_key] 을 반환함
*/
// 자동등록기를 막아볼까요?
$is_norobot = false;
if ($config[cf_use_norobot]) {
// 입력, 답변이면서 회원이 아닐 경우만 자동등록방지 사용
if (($w == "" || $w == "r") && !$member[mb_id]) {
set_session("ss_norobot_key", $norobot_key);
$norobot_str = "<img src='$g4[path]/chsignup/chsignup.php'>";
$is_norobot = true;
}
else
set_session("ss_norobot_key", "");
}
?>
<script language='javascript'> var md5_norobot_key = '<?=md5($_SESSION['ss_norobot_key'])?>'; </script>
다음은 회원가입스킨과 게시판 스킨에서
bbs/skin/board/basic/write.skin.php 아래부분을 주석처리합니다.
bbs/skin/member/basic/register_form.skin.php
/*
if (typeof(f.wr_key) != "undefined") {
if (hex_md5(f.wr_key.value) != md5_norobot_key) {
alert("자동등록방지용 빨간글자가 순서대로 입력되지 않았습니다.");
f.wr_key.focus();
return;
}
}
*/
자바스크립트단에서 처리하지 못하는 이유는 세션이 해당 페이지를 호출하면서
세션에 저장된 상태이기때문에 바로 현재의 세션값을 불러올수가 없습니다.
다음페이지에 가야 세션값을 불러올수 있습니다.
링크 #1 은 적용된 샘플 페이지 입니다.
5
댓글 29개
감사합니다...
그누보드에 기본으로 적용했으면 좋겠네요...
멋진 자료를 올려주셔서 감사드립니다.
정상적으로 php구문이 종료되지 않았습니다.
최하단에 php구문의 종료의 언급이 필요합니다.
?>
지금 적용하고 있는데, 이상하게 그림파일이 엑박이 계속 뜹니다. 말씀하신 파일들을 모두 수정 했는데, 왜 그림파일이 엑박이 뜰까요?..ㅠ.ㅠ
아~소희떼들 땜시 정말 짜증나네요...ㅠ.ㅠ
초보분들은 좀 해깔리실듯
chsignup폴더를 그누보드 폴더 안에 넣으면 됩니다.
gb4/chsignup 뭐 이런식으로
저도 로컬(윈도우용 APM)에서는 정상적으로 이미지가 보이지만 원격(카페24)에서는 엑박이 떠서 난감했습니다.
그런데 폰트의 경로를 다음과 같이 명시를 해주니 정상적으로 이미지가 보이네요.
$im->set_font('adler.ttf'); //chsignup.php 의 이 부분을
$im->set_font('./adler.ttf'); //이렇게 바꿔보세요.
말씀하신 방법으로 처리해 보도록 하겠습니다.
본문의 설명과같이 주석처리해야 합니다...^^
지금 버전도 가끔 있을 수 있습니다. 아니면 p3p 헤더 설정을 아파치와 웹페이지에 해주시면
쿠키나 세션 등이 좀 더 안정적으로 돌아갑니다~~~
쿠키나 세션도 여러번 계속 구우면 맨 끝에 구운게 안되고 전에 일정치 까지만 되는 수도 있어요..
쇼핑몰이나 장바구니나 기타 필요한 변수를 하나씩 안 굽고 한 문자로 구분자 정해서 저장하는것도
그 이유이죠...
여튼 p3p 헤더 설정 함 해보세요~ 요즘은 필수여욤..
보다 근본적인 대책이 필요할듯 하네요
저도 로컬(윈도우용 APM)에서는 정상적으로 이미지가 보이지만 원격(카페24)에서는 엑박이 떠서 난감했습니다.
그런데 폰트의 경로를 다음과 같이 명시를 해주니 정상적으로 이미지가 보이네요.
$im->set_font('adler.ttf'); //chsignup.php 의 이 부분을
$im->set_font('./adler.ttf'); //이렇게 바꿔보세요.
chsignup.class.php 안에 내용중...
$black = imagecolorallocate($im,0,0,0); =>$red = imagecolorallocate($im, 255,0,0);
변경하고 $black을 $red로 치환하면 원본 소스의 메시지도 변경할 필요가 없겠네요.^^
제가 2틀동안 검색해서 완성한 소스를 올리려고 찾던중 시시시님의 글을 발견했네요.
죄송합니다. 고수님을 몰라뵈서....ㅎㅎ 다운받아 갑니다.
다만 아쉬운 점은 지에디터를 사용하면 키값을 잘못입력했을때 내용이 날아간다는....ㅋ
아참.... norobot.inc.php 소스의 맨 아랫줄을 지우개로 확실하게 지워야 합니다.
<script language='javascript'> var md5_norobot_key = '<?=md5($_SESSION['ss_norobot_key'])?>'; </script>
올려주신 소스 잘 사용하겠습니다
그넘의 바.카.라 포.커가 넘쳐 났는데... 효과적인 대응이 될 것 같습니다.