Черт, они плодятся на моем форуме как только энтот форум проиндексировался в поисковиках, аж не успеваю удалять...
То есть, переименование папки эффективно только до следующего визита поискового робота.

Код: Выделить всё
// This function check message for SPAM
function ad_cerber($message)
{
global $ad_minpost, $ad_replace, $ad_list;
global $userdata,$phpEx, $phpbb_root_path,$user_ip,$db,$board_config;
if( $userdata['user_level'] == ADMIN ) return $message; // админу можно
include($phpbb_root_path . 'includes/adcerber_config.'.$phpEx);
$clear=str_replace($ad_list,$ad_replace,$message);// заменяем плохие слова в посте
if($clear==$message) return $message; // Если после замены ничего не изменилось - спама не было OK. No AD or SPAM
$mustdie=false;// флаг - убить спамера
if( !$userdata['session_logged_in'] )
{
// убрал бан
}
else
{
$user_id=$userdata['user_id'];
$sql = "UPDATE " . USERS_TABLE . " SET user_active=0
WHERE user_id=$user_id";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't change user status", "", __LINE__, __FILE__, $sql);
}
$sql = "DELETE FROM " . SESSIONS_TABLE . "
WHERE session_user_id=$user_id";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Shit happens");
}
$mustdie=true;
// }
}
$clear="Это письмо содержало спам!!!";// заменяем весь текст письма, пошли они..
$subject="Это письмо содержало спам!!!";// до кучи меняем заголовок
if(!$mustdie) return $clear; // если флаг спама - возвращаем измененный текст письма
if($userdata['session_logged_in']) message_die(CRITICAL_MESSAGE, 'You_been_blocked');
message_die(CRITICAL_MESSAGE, 'You_been_banned');
}
Код: Выделить всё
function delete_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id)
+1! Поставила мод на свой форум 2 с небольшим месяца назад. За все это время - 520 банов!!!VladSity писал(а):На моем форуме стоит подтверждение регистрации пользователя через e-mail (гости только читают) и данный мод Егора Наклоняева с первого поста с изменениями, которые внес Siava. Все работает отлично, спасибо огромное создателям мода!Было по десятку случаев спама в день, теперь уже несколько дней отдыхаю...
Раньше у меня стирались все сообщения спамера при стираниии имени (логина) спамера. А сейчас нет.Delete this user? - To delete a user, check this box and click Submit. A deleted user's posts are converted to Anonymous posts with their old username as the name specified.
Но у меня раньше все сообщения стирались автоматически вместе с логином спамера.Этот мод не стирает все сообщения спамера.
Код: Выделить всё
$clear=str_replace($ad_list,$ad_replace,strtolower($message));// заменяем плохие слова в посте
Код: Выделить всё
function ad_cerber1($subject)
{
global $ad_minpost, $ad_replace, $ad_list;
global $userdata,$phpEx, $phpbb_root_path,$user_ip,$db,$board_config;
if( $userdata['user_level'] == ADMIN ) return $subject; // админу можно
include($phpbb_root_path . 'includes/adcerber_config.'.$phpEx);
$clear1=strtolower($subject);
$clear=str_replace($ad_list,$ad_replace,$clear1);// заменяем плохие слова в посте
if($clear==$clear1) return $subject; // Если после замены ничего не изменилось - спама не было OK. No AD or SPAM
$mustdie=true;// флаг - убить спамера
if( !$userdata['session_logged_in'] )
{
// убрал бан
}
else
{
....
Код: Выделить всё
// Check subject
if (!empty($subject))
{
$subject=ad_cerber1($subject);
$subject = htmlspecialchars(trim($subject));
}
else if ($mode == 'newtopic' || ($mode == 'editpost' && $post_data['first_post']))
{
$error_msg .= (!empty($error_msg)) ? '<br />' . $lang['Empty_subject'] : $lang['Empty_subject'];
}