ExBB Community » Файловый ExBB » Решение проблем » борьба с порно, секс и т.п.

Страниц (1): [1]
 

1. sblblx - 13 июля 2009 — 22:42 - перейти к сообщению
столкнулся с php впервые. Пришлось ставить и апач и пыху на локалку для тестов. Впрочем все знают эти тернии Подмигивание Замучали по пару сотен порнографических постов за день строчить! Нахмурился Времени нет тупо удалять. Вот и пришлось себя попробовать в php. Full mod 1.9.3 - делал на нем. Знач в файле post.php(корень форума) ищем 169-ю строчку(где-то тут).
CODE:
function addnewthread() {
global $exbb,$lang,$vars,$inuser;

post_size();
$currenttime = time();
$inforum = $vars['forum'];

$fp_allforums = NULL; $allforumsfile = $exbb['home_path'].'data/allforums.php';
$allforums = Get_File_Data($fp_allforums,$allforumsfile);
if (!isset($allforums[$inforum])) error($lang['Main_msg'],$lang['Dont_chg_url']);

$inmembmod = moderator($inforum,$allforums);

if ($exbb['flood_limit'] && !$inmembmod) {
$lastpost = $_SESSION['lastposttime'] + $exbb['flood_limit'];
if ($lastpost > $currenttime) {
fclose($fp_allforums);
error($lang['Topic_create_new'],$lang['Flood_limit'].$exbb['flood_limit'].$lang['Flood_sec']);
}
}

if ($allforums[$inforum]['status'] == 'no' && !$inmembmod) {
fclose($fp_allforums);
error($lang['Topic_create_new'],$lang['Admins_only']);
}

if (defined('IS_ADMIN')) $inuser['private'][$inforum] = true;
if ($allforums[$inforum]['private'] && !$inuser['private'][$inforum]) {fclose($fp_allforums); error($lang['Posts_sent'],$lang['Post_no']);};
if (!$exbb['reged'] and $allforums[$inforum]['status'] != 'all') {fclose($fp_allforums); error($lang['Posts_sent'],$lang['Reg_users_can']);}

if ($exbb['sts'] == 'banned') { fclose($fp_allforums); error($lang['Topic_create_new'],$lang['You_deleted']); }
elseif ($vars['intopictitle'] =='') { fclose($fp_allforums); error($lang['Topic_create_new'],$lang['Title_needed']); }
elseif ($vars['inpost'] == ''){ fclose($fp_allforums); error($lang['Topic_create_new'],$lang['Mess_needed']); }
elseif (preg_match("#^([0-9]|[a-z]|[а-я]|[A-Z]|[А-Я]){1,1}#/is",$vars['intopictitle'])) { fclose($fp_allforums); error($lang['Topic_create_new'],$lang['Topic_rule'],'',0); }
И за ней добавляем
CODE:
elseif (strpos ($vars['intopictitle'] , 'порн') !== false) echo "Читаем правила!!!";
elseif (strpos ($vars['intopictitle'] , 'секс') !== false) echo "Читаем правила!!!";

Понимаю, что можно и более изощренно, знаю как, но... Не уверен в наличии времени. Кстати так можно и на отправляемое сообщение повесить предупреждение Подмигивание Если не ошибаюсь - 2-3 строки ниже Закатив глазки

Конечно мог бы это и в админку прикрутить, но(повторюсь) не уверен на счет времени своего. Всем спасибо и удачи Улыбка
(Добавление)
а что? Маркуса уже нет в exbb??? Огорчение
2. yura3d - 14 июля 2009 — 06:35 - перейти к сообщению
sblblx
Извините, но всё что описано Вами выше предназначено для старых версий форума (а 1.9.3 к тому же ещё и левак), которые более не актуальны и не поддерживаются. Для последней версии ExBB FM 1.0 RC1 подобная защита с возможностью гибкого редактирования списка стоп-слов уже есть (см. тему Наброски: Борьба со спамом в разделе Модификации и дополнения)
(Добавление)
Более того, в последней версии значительно усовершенствована защита от автоматических регистраций (абсолютно новая каптча + активация по e-mail + генерация паролей и отправка их по e-mail)
3. sblblx - 14 июля 2009 — 10:55 - перейти к сообщению
Ну есть и те, кто пользуется старыми версиями. И, что было бы естественно, за поддержкой придут к Вам на форум Улыбка Решения не нашел, потому и сделал сам. Надеюсь кому нибудь пригодится Закатив глазки

Яндекс.Метрика   

Powered by ExBB
[Script Execution time: 0.0176]     [ ]