Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2016-09-01 12:35:32

Aлександр
Участник
Зарегистрирован: 2016-08-12
Сообщений: 70

Защита от спама

Сборка Vismana
не давать возможности авторизованному пользователю оставлять сообщение если не загружена аватарка.
Заставляем загрузить аватарку )))

Очень хорошее решение против спама. Идею я взял с форума Discuz
в post.php:

после

define('PUN_ROOT', dirname(__FILE__).'/');
require PUN_ROOT.'include/common.php';

Добавить

if (!$pun_user['is_guest']){
$user_id = $pun_user['id'];
$user_avatar = generate_avatar_markup($user_id);
if (empty($user_avatar))
message($lang_common['No view'], false, '403 Forbidden');
}

в языковых файлах, добавить ошибку, с описанием что и как делать.
и заменить $lang_common['No view'] на $lang_common['No avatar']


Если вы хотите исключить из проверки гостей и администрацию, то, вам нужно:

if (!$pun_user['is_guest'])

заменить на

if (!$pun_user['is_guest'] && !$pun_user['is_admmod'])

Также, если у вас не корректный юзерагент (как у меня например) под гостем вы также не сможете оставлять комментарий.

Если нужно убрать проверку на юзерагента
Закомментируйте этот блок кода из двух строк:

 if ($pun_user['is_bot']) // stop bots - Visman
     message($lang_common['No permission'], false, '403 Forbidden');

Просто перед текстом поставить // код строки или  /* любой текст кода */

Редактировался Aлександр (2016-09-02 16:53:20)

Offline

#2 2016-09-01 13:19:59

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Защита от спама

@Aлександр, есть в движке функция generate_avatar_markup($user_id) для определения аватара пользователя. Если аватара нет, то вернет пустую строку.

Offline

#3 2016-09-01 14:15:20

Aлександр
Участник
Зарегистрирован: 2016-08-12
Сообщений: 70

Re: Защита от спама

Спасибо! Поправил

Offline

#4 2016-09-01 14:29:21

Visman
Administrator
Из Сибирь
Зарегистрирован: 2009-06-08
Сообщений: 2,236
Сайт

Re: Защита от спама

@Aлександр, вместо

if ($user_avatar == false)

тут лучше

if (empty($user_avatar))

Offline

#5 2016-09-02 16:47:57

Aлександр
Участник
Зарегистрирован: 2016-08-12
Сообщений: 70

Re: Защита от спама

Еще надо указать проверку на гостя, иначе, если в теме будет открыто комментирование гостям, проверка на аватарку будет распространяться и на гостей.
Поправил первый пост.

Offline

Подвал доски

Под управлением FluxBB. Хостинг Hostens