antispam

8 views
Skip to first unread message

Alex

unread,
Jun 24, 2009, 4:39:16 AM6/24/09
to InTerra Blog Machine
т.к. сразу после установки я уже получил пару десятков спам-
комментов!!!
и у нас тут уже была тема " Спасите помогите завал комментариями ))"
http://groups.google.com/group/interra-blog-machine/browse_thread/thread/10e09c96fed753c6
и как ее продолжение возникло предложение добавить в стандартную
сборку папку actions/comment_antispam
и в addcomment.php перед обработкой комментария добавить
if(ANTISPAM and !$_SESSION['admin']){
## COMMENT ADD PREPROCESSORS ##
#
foreach(glob('actions/comment_antispam/*.php') as $mfile) {
include_once($mfile);
}
#
## //
}

и собственно сам файл, допустим filters.php, который можно ессно
улучшать и т.д.
<?

/*** Start antispam configuration settings ***/
define('MSGE_BADTEXT',1000);

$spam_filter = array('хуй', 'freefilms.ucoz.ru', 'depositfiles.com/
files/', 'bk.ru', 'insurance', 'viagra', 'poker', 'blackjack');
$ip_banned = array('194.8.75.141','194.8.75.142');

/*** End antispam configuration settings ***/

// msge badtext sender
if (strlen($_POST['sender']) > "30" and !$_SESSION['admin']){
$noComment = true;
}

// msge badtext comment
if (strlen($_POST['comment']) > MSGE_BADTEXT and !$_SESSION['admin'])
{
$noComment = true;
setcookie("tPost",$_POST['comment'],time()+120,"/");
$_SESSION['badtext'] = true;
}

// spam filter comment
foreach($spam_filter as $bad){
if (preg_match('/'.preg_quote($bad, '/').'/i',strtolower($_POST
['comment'])) and !$_SESSION['admin']) $noComment = true;
}

// spam filter sender
foreach($spam_filter as $bad){
if (preg_match('/'.preg_quote($bad, '/').'/i',strtolower($_POST
['sender'])) and !$_SESSION['admin']) $noComment = true;
}

// spam filter sender
foreach($spam_filter as $bad){
if (preg_match('/'.preg_quote($bad, '/').'/i',strtolower($_POST
['mail'])) and !$_SESSION['admin']) $noComment = true;
}

// Check if IP is banned
if (in_array ($_SERVER['REMOTE_ADDR'],$ip_banned) and !$_SESSION
['admin']) {
$noComment = true;
}

?>
Reply all
Reply to author
Forward
0 new messages