2026, 새로운 도약을 시작합니다.

스팸 차단 방법

캡차가 있는 경우에도 write_update.php로 바로 스팸이 들어오는 경우가 종종 발생하네요.
그래서 메인페이지나 글쓰기 페이지에 세션을 저장하고 스팸 차단 체크를 해보았습니다.

[code]
// extend/user.extend.php 파일에 입력
 

if (!defined('_GNUBOARD_')) exit;
 

// 현재 실행되는 스크립트 이름 확인
$current_script = basename($_SERVER['SCRIPT_NAME']);

// 1. 글쓰기 화면(write.php)이나 인덱스 등 정상 경로에서 세션 생성
// (봇은 보통 이 페이지들을 렌더링하지 않고 바로 공격하므로 세션이 없음)
if ($current_script == 'write.php' || $current_script == 'index.php') {
    set_session('ss_is_human_entry', true);
}

// 2. 글 저장(write_update.php) 시 세션 체크
if ($current_script == 'write_update.php' || $current_script == 'write_comment_update.php') {
    // 세션이 없거나 리퍼러(이전 페이지)가 없으면 차단
    if (!get_session('ss_is_human_entry')) {
        die('올바르지 않은 접근입니다. (Direct Access Denied)');
    }
    
    // 추가: 리퍼러 체크 (봇은 리퍼러를 위조하기도 하지만, 없는 경우도 많음)
    if (!isset($_SERVER['HTTP_REFERER']) || !$_SERVER['HTTP_REFERER']) {
        die('잘못된 접근입니다. (No Referer)');
    }
}
[/code]

감사합니다.

|

댓글 5개

아직 스팸이 쌓이는 글은 있으나... 너무 오래된 버전의 게시판이라... 추후에 캡차가 있는 오픈된 자유게시판을 사용하게 되면 스팸 체크해보고 알려주신 방법으로 대비해봐야겠네요!

감사합니다 ^^

감사합니다

저같은 경우에는 가짜 회원 가입스크립트를 통과해서 회원가입하는것을 지역IP 로를 활용해서 1차로 막았고, (효과는 있음). 2차로 게시글에 대해서 승인되지않는 사람은 못쓰게 막아서 일부분 해결을 했는데, 이 방법도 고려해봐야겠습니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

그누보드5 팁자료실

번호 제목 글쓴이 날짜 조회
공지 3년 전 조회 4,593
2741 어제 조회 76
2740 3일 전 조회 83
2739 1주 전 조회 195
2738 1주 전 조회 200
2737 1주 전 조회 169
2736 1주 전 조회 269
2735 2주 전 조회 274
2734 3주 전 조회 255
2733 1개월 전 조회 258
2732 1개월 전 조회 293
2731 1개월 전 조회 261
2730 1개월 전 조회 218
2729 1개월 전 조회 344
2728 1개월 전 조회 238
2727 1개월 전 조회 413
2726 1개월 전 조회 248
2725 1개월 전 조회 323
2724 1개월 전 조회 352
2723 1개월 전 조회 260
2722 1개월 전 조회 293
2721 1개월 전 조회 206
2720 2개월 전 조회 299
2719 2개월 전 조회 302
2718 2개월 전 조회 196
2717 2개월 전 조회 328
2716 2개월 전 조회 198
2715 2개월 전 조회 306
2714 2개월 전 조회 266
2713 2개월 전 조회 369
2712 2개월 전 조회 284
🐛 버그신고