웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
외국어 스팸 방어
2014.07.01 12:09
요즘 외국어 스팸이 자주 올라오네요.
그래서 어차피 제 사이트에는 외국어가 올라올 수 없다는 판단에 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; 를 지워봤습니다.
저랑 비슷한 상황에 있으신 분들 한번 해 보시라고 올려 둡니다.
댓글 2
-
콩까기
2014.07.26 00:31
-
MC포럼
2014.09.14 22:19
한번 시도 해봣는데, 그전보단 나은거같네요.
그래도.. 아직 생성이 되네요.. 조금 느리게 생성이 되지만..
제목 | 글쓴이 | 날짜 |
---|---|---|
손님이 비밀글 작성한 직후에도 글 보려면 반드시 비밀번호 넣게 하는 방법 [1] | sejin7940 | 2014.06.18 |
목록에서 이미지 팝업 이용하기 | Happyphp | 2014.06.19 |
관리자페이지에서 콘텐츠->파일 에서 등록된 파일 전체 리스트에 이미지가 바로 나타나도록 [2] | sejin7940 | 2014.06.19 |
상단에 스르르~ 닫기 가능한 배너 달기 [30] | 야옹잉 | 2014.06.20 |
XE에서 신디케이션 제거하기 [1] | mAKEkr | 2014.06.20 |
관리자가 글 쓸때는 분류를 선택 안 해도 등록되도록 (공지글을 쓸때를 위해) 개선 [2] | sejin7940 | 2014.06.21 |
min.js min.css 정리해서 보기 | Happyphp | 2014.06.26 |
php에서 한글언어 작성이 깨질때 [1] | 광개토대왕3 | 2014.06.28 |
BlogAPI 활용하기 | 맞장 | 2014.06.29 |
닉네임 중복체크 버그 해결방법 [7] | 소렌트. | 2014.06.29 |
[nginx] Rewrite 예외 설정 | okiz | 2014.06.30 |
외국어 스팸 방어 [2] | DoorWeb | 2014.07.01 |
[javascript] 기초강좌 | 03 논리연산자, 비트, 삼항연산자, 기타연산자 | hiwebs | 2014.07.02 |
[javascript] 기초강좌 | 4장. 비교제어문(if문) | hiwebs | 2014.07.02 |
jqm(jQuery Mobile) 사용 시 XE의 CSS 와 충돌할 때 | Canto | 2014.07.03 |
에디터 컴포넌트에 현재 mid 값 넘겨주기. [1] | 애니즌 | 2014.07.03 |
XE Core:1.7.5.3 조회수 증가, 자기 게시글 클릭시 조회수 증가 [1] | 때린데 또때려 | 2014.07.04 |
클리어픽스(clearfix)의 개념과 방법 | 시니시즘 | 2014.07.04 |
php 세션을 memcache에 저장할 때 주의할 점 | XE러버 | 2014.07.04 |
xe 1.7.4 이상 object cache 및 template cache 적용 방법 [3] | XE러버 | 2014.07.04 |
좋은팁 감사합니다^^