From f5f0be0135e8f6bb3dbbccde9e13cb9913398662 Mon Sep 17 00:00:00 2001 From: zero Date: Mon, 10 Dec 2007 04:21:25 +0000 Subject: [PATCH] =?UTF-8?q?=EC=97=AE=EC=9D=B8=EA=B8=80=EC=9D=98=20?= =?UTF-8?q?=EC=A0=9C=EB=AA=A9=EA=B3=BC=20=EB=B8=94=EB=A1=9C=EA=B7=B8?= =?UTF-8?q?=EB=AA=85=EC=9D=B4=20=EB=8F=99=EC=9D=BC=ED=95=9C=20=EA=B2=BD?= =?UTF-8?q?=EC=9A=B0=20=EC=8A=A4=ED=8C=B8=EC=9C=BC=EB=A1=9C=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://xe-core.googlecode.com/svn/sandbox@3279 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/spamfilter/spamfilter.controller.php | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/modules/spamfilter/spamfilter.controller.php b/modules/spamfilter/spamfilter.controller.php index 336e5d9d2..c1311fa00 100644 --- a/modules/spamfilter/spamfilter.controller.php +++ b/modules/spamfilter/spamfilter.controller.php @@ -104,13 +104,23 @@ $output = $oFilterModel->isDeniedWord($text); if(!$output->toBool()) return $output; - // 3분 이내에 1개 이상의 한 C클래스의 ip에서 엮인글 등록 시도시 금지 아이피로 지정하고 해당 ip의 글을 모두 삭제 + // 필터링 시작 $oTrackbackModel = &getModel('trackback'); + $oTrackbackController = &getController('trackback'); + list($ipA,$ipB,$ipC,$ipD) = explode('.',$_SERVER['REMOTE_ADDR']); $ipaddress = $ipA.'.'.$ipB.'.'.$ipC; - $count = $oTrackbackModel->getRegistedTrackback(3*60, $ipaddress, $obj->url, $obj->blog_name, $obj->title, $obj->excerpt); + + // 제목과 블로그이름이 동일할 경우 최근 6시간내의 ip를 조사하여 삭제하고 금지ip로 등록 + if($obj->title == $obj->excerpt) { + $oTrackbackController->deleteTrackbackSender(60*60*6, $ipaddress, $obj->url, $obj->blog_name, $obj->title, $obj->excerpt); + $this->insertIP($ipaddress.'.*'); + return new Object(-1,'msg_alert_trackback_denied'); + } + + // 30분 이내에 1개 이상의 한 C클래스의 ip에서 엮인글 등록 시도시 금지 아이피로 지정하고 해당 ip의 글을 모두 삭제 + $count = $oTrackbackModel->getRegistedTrackback(30*60, $ipaddress, $obj->url, $obj->blog_name, $obj->title, $obj->excerpt); if($count > 1) { - $oTrackbackController = &getController('trackback'); $oTrackbackController->deleteTrackbackSender(3*60, $ipaddress, $obj->url, $obj->blog_name, $obj->title, $obj->excerpt); $this->insertIP($ipaddress.'.*'); return new Object(-1,'msg_alert_trackback_denied');