AdmninsCluba |
Отправлено: 3 апреля 2009 — 06:40
|
Junior Member
Покинул форум
Сообщений всего: 82
Дата рег-ции: Февр. 2009
Репутация: 1
|
Наткнулся в нете на интересную тему по защите форумов от спамеров.
http://forum.searchengines.ru/sh...5276#post4615276
Цитата:Спамят весьма ограниченный набор слов, и поэтому 90% и больше спама легко отсечь простеньким кодом, размещенным в c самом начале скрипта постинга (например, в phpBB - posting.php)
CODE:$ar0 = array('sex', 'seks', 'porno', 'erotika',
'viagra', 'cialis',
'filmi4u');
$ar1 = $_REQUEST['message'];
$ar1 = preg_replace("![^a-z0-9а-я]!i", " ", $ar1);
$ar1 = preg_replace("![ ]{2,}!i", " ", $ar1);
$ar1 = explode(" ",$ar1);
$ar2 = array_intersect($ar1,$ar0);
if ($ar2) {
$_REQUEST['message'] = $_GET['message'] = $_POST['message'] = "";
}
Т.е. просто обнуляем переменную с сообщением, если в нем найдены нежелательные слова, а сам скрипт не позволит разместить пустое сообщение, а можно просто exit() .
Остается дополняться словарик $ar0, по которому банятся сообщения.
У меня работы по модерации значительно уменьшилось.
Данный код хорошо встал на форум phpBB 3.0.х (который меня уже достал своей дырявостью) в файл posting.php.
Меня интересует как правильно поставить на ExBB. При установки в файл posting.php - действий нет.
При установки кода в файл post.php выдает - Parse error: syntax error, unexpected $end in post.php on line 771
С уважением. |
|
|
yura3d |
Отправлено: 3 апреля 2009 — 18:16
|
ExBB Team ExBB Developer ExBB Mods Author
Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009
Откуда: Минск, Беларусь
Репутация: 353
|
AdmninsCluba пишет:phpBB 3.0.х (который меня уже достал своей дырявостью)
Вижу, далеко не у одного меня сложилось такое впечатление.
AdmninsCluba пишет:Меня интересует как правильно поставить на ExBB. При установки в файл posting.php - действий нет.
При установки кода в файл post.php выдает - Parse error: syntax error, unexpected $end in post.php on line 771
А головой подумать? С каких это пор моды от phpBB стали подходить к ExBB?
Вобщем для работы потребовалось частично переделать данный мод, также немного его модифицировать. Для установки открываем post.php, находим строку:
CODE:include('modules/punish/p_error.php');
И сразу после неё вставляем строки:
CODE:if ($fm->input['action'] == 'addnew' || $fm->input['action'] == 'addreply') {
$_spam_msgs = 100; // Сколько сообщений необходимо набрать пользователю, чтобы избежать проверки
$ar0 = array(
'sex', 'seks', 'porno', 'erotika',
'viagra', 'cialis',
'filmi4u'
);
$ar1 = (isset($_POST['inpost'])) ? $_POST['inpost'] : '';
$ar1 = preg_replace("![^a-z0-9а-я]!i", " ", $ar1);
$ar1 = preg_replace("![ ]{2,}!i", " ", $ar1);
$ar1 = explode(" ",$ar1);
$ar2 = array_intersect($ar1,$ar0);
if ($ar2 && (!$_spam_msgs || !isset($fm->user['posts']) || $fm->user['posts'] < $_spam_msgs)) {
$fm->_Message('Защита от спама', 'Ваше сообщение не может быть добавлено, т.к. содержит запрещённые слова, характерные для спама. За подробностями обращайтесь к администратору форума.');
}
}
Список запрещённых слов записывается в массив $ar0. В моём варианте есть переменная $_spam_msgs, в неё можно записать, сколько сообщений нужно набрать пользователю (изначально установлено 100 сообщений), чтобы избежать проверки. Как правило боты больше 2-3 сообщений не набирают, зато в тексте Ваших постоянных пользователей могут присутствовать подобные слова без злого умысла (при необходимости их можно вырезать автоцензором). Если Вы хотите, можете отключить проверку по числу сообщений, выставив значение переменной в 0. |
|
|
yura3d |
Отправлено: 9 апреля 2009 — 14:19
|
ExBB Team ExBB Developer ExBB Mods Author
Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009
Откуда: Минск, Беларусь
Репутация: 353
|
Axel пишет:phpBB3 приходится изрядно дорабатывать на коленках, а по поводу дырявости, его новая каптча уже сломана и боты ее проходят на ура несмотря на шумы и приведение каптчи в нечитабельность даже для человека, как решение проблемы все ставят мод "Aanti Bot Qustion" при регистрации задается рэндомный вопрос (из заданных админом) и пользователь ручками вводит ответ (правильных вариантов ответа может быть несколько напр. стандартный вопрос "Какого цвета небо?" ответ: Голубое, голубого, синее, синего и т.п.) на моем phpBB3 спаммеров убило под корень (тьфу тьфу тьфу).
Имелась ввиду дырявость в плане взлома форума, получения доступа к БД, каптча к серьёзным дырам не относится
Axel пишет:А на ExBB разве пробиваются спаммеры? У меня за все время ниодного небыло, хотя попытки регистраций были регулярно. Если же сейчас проблема появилась, то аналог ABQ решит все проблемы.
Не пробиваются, но проблема в том, что сейчас всё чаще спамом занимаются всякие школьнеги и прочие неадекватные личности, поэтому должна быть какая-то защита и на этом уровне. Например, если у пользователя менее 10 сообщений, запрещать ему размещать ссылки или другие подобные ограничения. В ExBB 2.0 такая возможность есть |
|
|
|