백림

스팸글 4기가 때려 맞고 열받아 만든 일반적인 스팸 차단 extend

GNUBOARD Spam Guard Extension V1.0.10 (Masterpiece) 기능 요약입니다.

1. 핵심 방어 체계

  • 3단계 방어: ① 블랙리스트 차단 → ② 행동 분석(Move/Key/Time) → ③ 토큰 암호화(HMAC) 검증.
  • 3진 아웃제 (Strike System): 검증 실패 시 즉시 차단하지 않고 경고 3회 누적 시 30일간 영구 차단.
  • 자동 복구 (GC): 차단된 IP는 30일 후 자동 해제, 로그/세션 찌꺼기도 자동 청소.

2. 하이브리드 보호 (Hybrid Protection)

  • 게시판 자동 보호: 그누보드 게시판(write_update 등)은 별도 설정 없이 자동 감시.
  • 커스텀 페이지 보호: $SG_CUSTOM_ACTIONS 배열에 파일명만 넣으면(예: order_ok.php) 즉시 보호 적용.

3. 시스템 안정성 (High Robustness)

  • 오탐 방지: AJAX/API 요청 시 팝업창 대신 JSON 에러 응답 (사이트 깨짐 방지).
  • 동시성 제어: 파일 기록 시 LOCK_EX 잠금을 사용하여 데이터 깨짐 원천 봉쇄.
  • 리소스 관리: 로그 파일(5MB 제한), 세션 토큰(20개 제한, 시간순 정리) 자동 최적화.

4. 보안 강화 (Security Hardening)

  • Strict IP: 헤더 조작(X-Forwarded-For)을 무시하고 실제 IP만 추적.
  • Honeypot: 봇이 숨겨진 필드(wr_behavior_data)를 건드리면 즉시 영구 차단.
  • 권한 잠금: 생성되는 모든 보안 파일은 0600(소유자 전용) 권한으로 잠금.

AI 크롤링이에 이어 스팸글에 대해서 차단 대응책 간구하다 만들었습니다.

해당 소스는 Gemini 3 Pro / GPT 5.2 모델에서 검증 작업을 걸쳐 만들었습니다.
이후 대응은 Google reCAPTCHA 나 클라우드 플레어를 사용하시면 더 효과적인 방어체계를 구축 하실 수 있을거 같습니다.

spam_guard.log 쌓이는 작성 패턴을 확인하여 완화 조절 혹은 강화 조절 해주시면 될 거 같습니다.
 

첨부파일

spam_guard.extend.php (11.6 KB) 129회 2026-01-22 13:44
총 8명이 반응했습니다
|

댓글 18개

감사 합니다.
감사합니다 ^^
개선사항 있으시면 언제든 피드백 주세요~
와우 멋진 방법이네요. 감사합니다.
감사합니다아~ 언제든 피드백주세용!!!

정~~말 필요한 기능 감사합니다

나리아 빌더에 적용이 가능할가요?

순정에서만 작업해서 나리야까진 모르겠어요 ㅠ
오류 날 수 있을 듯 합니다.
감사합니다.
사용방법이 어떻게 되나요?
extend 디렉토리에 업로드해주세욥
그냥 extend  에 넣기만 하면 되나요??? 별별 방법을 다 써봤는데도 소용이 없어서요
extend  에 업로드 후 글쓰기 잘 되시면 정상 작동은 하는걸거에요!!
작동 환경이 저흐측 서버라 일부 오류가 있을 수 있어요
 리셀러 계정을 쓰는데 이걸 올리니 글쓰기가 안되네요  ㅜㅜ 흑
아마 특정 호스팅에 따라 오류가 나더라구요.. 별도 500 에러 구역 찾아서 수정하시면 될 거 같습니다..
저희 서버 기준으로 만들다보니 뭔가 좀 안맞는게 있더라구요
저는 모든 홈페이지 카페24 웹호스팅 사용중인데,
글 작성하면 하면

"페이지가 작동하지 않습니다.
현재 OOO에서 요청을 처리할 수 없습니다.
HTTP ERROR 500
"
라고 나와서 사용이 안되네요.
별도로 500 에러 구역 찾아서 수정 하시고 배포하시면 될 거 같습니다.
제작 환경이 저희 서버에 맞춰있다보니 범용적까지 신경 쓰지는 못한거같습니다.
댓글을 작성하시려면 로그인이 필요합니다.
+
제목 글쓴이 날짜 조회
03-14 조회 7,297
03-13 조회 6,425
03-10 조회 6,137
03-09 조회 6,616
03-07 조회 7,703
03-06 조회 6,776
03-06 조회 7,026
03-05 조회 7,014
03-02 조회 6,583
02-19 조회 7,721
02-19 조회 8,184
02-18 조회 5,615
02-06 조회 7,969
02-02 조회 7,194
01-31 조회 5,902
01-25 조회 6,033
01-22 조회 6,198
01-19 조회 5,792
01-18 조회 5,939
01-17 조회 5,840
01-15 조회 6,554
01-14 조회 6,467
01-08 조회 5,842
01-07 조회 5,832
01-02 조회 6,088
25-12-31 조회 7,251
25-12-30 조회 5,700
25-12-29 조회 6,036
25-12-20 조회 6,010
25-12-17 조회 5,669