웹마스터 팁

외국어 스팸 방어

2014.07.01 12:09

DoorWeb

요즘 외국어 스팸이 자주 올라오네요.


그래서 어차피 제 사이트에는 외국어가 올라올 수 없다는 판단에 this,is 이런 단어들을 금지단어로 등록 시켜 뒀는데


이런 금지어들도 this를 약간 다른 조합으로 만드어서 뚫고 들어오더군요.


그래서 자료실을 뒤지다가 보물같은 엘카님의 스펨 방지 에드온을 찾았는데...


요즘 올라오는 스팸들이 링크없는 스펨들이 많다보니 엘카님 에드온이 방어를 못하더군요. 조건에 링크가 있어야 해서...


그래서 조건문에서 링크 부분을 지우고 무조건 한글이 없으면 스펨으로 분류되게 해 봤습니다.


아직은 만족스러운데...


elkha_simple_spam 스펨방지 에드온에서

elkha_simple_spam.addon.php 파일의


<?php
if($called_position!='before_module_proc') return;

// only for controller
if(!preg_match('/^(?:trackback|proc(?:[A-Z][a-z]+)*Insert(?:Document|Comment))/', $this->act)) return;
if($this->grant->manager) return;

$_content = Context::get('content');
if(!strlen($_content)) return;

$logged_info = Context::get('logged_info');
if(isset($logged_info->nick_name))
{
	$nick_name = &$logged_info->nick_name;
}
else
{
	$nick_name = &Context::get('nick_name');
}

$_content .= Context::get('title');
$_content .= $nick_name;

if(preg_match('/[ㄱ-ㅣ가-힣]/u', $_content)) return;
if(!preg_match('#<a\s|https?://#is', $_content)) return;

$email_address = strlen($addon_info->email_address)? "(\n$addon_info->email_address)" : '';

$output = new object(-1, "스팸으로 의심되어 등록이 보류되었습니다.\n관리자 메일주소로 문의주시길 바랍니다.$email_address");
$oDisplayHandler = new DisplayHandler();
$oDisplayHandler->printContent($output);
exit;
?>



에서 25라인 

if(!preg_match('#<a\s|https?://#is', $_content)) return; 를 지워봤습니다.


저랑 비슷한 상황에 있으신 분들 한번 해 보시라고 올려 둡니다.

제목 글쓴이 날짜
PHP에 대한 소개 [216] zero 2000.03.06
[SocialXE] 1.7.4.x 업데이트 후 SocialXE에서 '잘못된 요청입니다.' 오류가 뜨는 문제 해결하기 [15] file TUW 2014.03.26
업글타일 모듈에서 fail_to_trash가 뜨지만 삭제는 정상으로 진행된다면 SeungXE 2014.10.11
댓글 삭제/수정/답글 시 팝업창으로 띄우기 [22] file 고진감래 2009.10.21
[10원팁] 한서버에 2개이상의 xe를 사용할때 간헐적 백지문제 [4] 키스미베이베 2014.09.19
XE 그룹아이콘 레벨아이콘 아이콘샵 동시출력하기(모르는분들 있으까봐올립니다.) [1] 모앱 2013.02.22
방화벽 때문에 쉬운설치가 안 될경우 해결법 빛의바다 2014.10.04
회원정보 손쉽게 엑셀 파일로 저장하기 [34] thejeon 2009.08.05
메시지톡 버튼 게시판에 넣기 [18] file 착한악마 2013.11.26
php에서 한글언어 작성이 깨질때 [1] 광개토대왕3 2014.06.28
구글 API 활용(뉴스가져오기) pixfine 2014.09.24
[AJAX]DB 해당값을 검색하기 pixfine 2014.09.24
330 오류(net::ERR_CONTENT_DECODING_FAILED): 알 수 없는 오류 - 해결책 [2] 하얀마법 2012.10.25
[업데이트] [Easy Tip] [XE 1.7] XE 코어 js, css파일 jsdelivr CDN사용하기 [13] file Typhoon 2014.08.28
회원 프로필 사진 리사이징될때 ratio가 아닌 crop으로 처리하기 mAKEkr 2014.09.19
레이아웃 작업 중 갑자기 files/faceOFF/xxx/ko.cache.php 에러 발생할 시 Novelic 2014.09.19
로그인 실패 관련 쪽지 또는 메일이 안 날라오게 하는 방법 [9] sejin7940 2012.11.12
셀과 색상의 조합이 특징인 테이블 구조 pixfine 2014.09.16
익스별 호출 모음...스타일(재탕이면 죄송)모은거는 못봐서요~ imagineshop 2014.09.16
머니시스템 보유머니 출력하기 [13] oscarmike 2014.04.24