• Защита от спама на форуме phpBB

 #359   IgorA100
 26 фев 2011, 21:46
В настройках форумов phpBB v. 3.X есть такой пункт:
"Визуальное подтверждение для гостей:" - включение капчи для гостей, но для уменьшения спама желательно включать капчу и для других групп.
Исправим ситуацию:
1. Открыть файл "posting.php" (находится в корне форума)
2. Найти
Код: Выделить всёif ($config['enable_post_confirm'] && !$user->data['is_registered'])
и заменить на:
Код: Выделить всё$group_capcha = array(1, 2, 3, 6, 7); /*Группы которые используют капчу при публикации на форуме
1 - Гости
2 - Зарегистрированные пользователи
3 - Зарегистрированные пользователи (COPPA)
4 - Главные модераторы
5 - Администраторы
6 - Боты
7 - Новые пользователи
*/
if ($config['enable_post_confirm'] && in_array($user->data['group_id'],$group_capcha))

3. Найти
Код: Выделить всёif ($config['enable_post_confirm'] && !$user->data['is_registered'] && in_array($mode, array('quote', 'post', 'reply')))
и заменить на
Код: Выделить всёif ($config['enable_post_confirm'] && in_array($user->data['group_id'],$group_capcha) && in_array($mode, array('quote', 'post', 'reply')))

4. Найти
Код: Выделить всёif ($config['enable_post_confirm'] && !$user->data['is_registered'] && (isset($captcha) && $captcha->is_solved() === true) && ($mode == 'post' || $mode == 'reply' || $mode == 'quote'))
и заменить на
Код: Выделить всёif ($config['enable_post_confirm'] && in_array($user->data['group_id'],$group_capcha) && (isset($captcha) && $captcha->is_solved() === true) && ($mode == 'post' || $mode == 'reply' || $mode == 'quote'))

5. Найти
Код: Выделить всёif ($config['enable_post_confirm'] && !$user->data['is_registered'] && (isset($captcha) && $captcha->is_solved() === false) && ($mode == 'post' || $mode == 'reply' || $mode == 'quote'))
и заменить на
Код: Выделить всёif ($config['enable_post_confirm'] && in_array($user->data['group_id'],$group_capcha) && (isset($captcha) && $captcha->is_solved() === false) && ($mode == 'post' || $mode == 'reply' || $mode == 'quote'))
 #1121   IgorA100
 11 дек 2011, 23:44
Вот еще одно интересное решение. Анализируются запросы от ботов и на основании этого происходит отсев при регистрации.
Вот источник: http://habrahabr.ru/blogs/php/131920/