VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Обнаружил баговую фичу. Не знаю, как это ещё назвать...
В общем, когда в системе нарушений делаешь автоматическую блокировку такого типа
В это количество нарушений, как оказалось, входят почему-то и истёкшие. Т.е. если у юзера 3 года назад было 4 нарушения, за которые он отсидел, за каждое новое он будет получать бан. Что делает этот вид блокировки как минимум бесполезным, и даже вредным.
Правится проблема просто:
В файле infraction.php найти
PHP Code:
$userinfractions = $db->query_read_slave(" SELECT * FROM " . TABLE_PREFIX . "infraction WHERE userid = " . $userinfo['userid'] . " AND action IN (0,1) AND points > 0 ORDER BY expires DESC ");
и заменить на
PHP Code:
//mode by True start /*$userinfractions = $db->query_read_slave(" SELECT * FROM " . TABLE_PREFIX . "infraction WHERE userid = " . $userinfo['userid'] . " AND action IN (0,1) AND points > 0 ORDER BY expires DESC ");*/ $userinfractions = $db->query_read_slave(" SELECT * FROM " . TABLE_PREFIX . "infraction WHERE userid = " . $userinfo['userid'] . " AND action = 0 AND points > 0 ORDER BY expires DESC "); //mode by True finish
А в /admininfraction.php?do=modify у типов нарушений выставлено "Не продлевать"?
@True
Администратор
Join Date: Nov 2007
Награды в конкурсах:
Posts: 1,313
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 1305
Репутация в разделе: 553
0
@TAIFUN, так мне надо продлевать. Но при этом нужно, чтобы бан за кол-во нарушений не касался истёкших. Посмотрел кусок кода ниже, думаю, понимаю, что ты имеешь в виду. Согласно моему опыту, продлевать, как и банить, имеет смысл, когда такое же нарушение активно, а не списано хз когда.
Last edited by True : 02-18-2014 at 04:09 PM.
Luvilla
Гость
Posts: n/a
Quote:
Originally Posted by Тру
Что делает этот вид блокировки как минимум бесполезным, и даже вредным.
ну оно, видимо, так и задумывалось, раз речь о количестве нарушений
если прописывать автоблокировку по количеству баллов, ситуация более понятна с точки зрения "чтобы не касался истёкших"
@True
Администратор
Join Date: Nov 2007
Награды в конкурсах:
Posts: 1,313
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 1305
Репутация в разделе: 553
0
Luvilla, не знаю, как и зачем оно задумывалось. После достижения лимита, юзеру невозможно дать даже мельчайшее нарушение без отправления его в бан. Система с подсчётом именно кол-ва нарушений в том виде, в котором она существует в вобле, имеет смысл только если юзера после достижения лимита отправлять в определённую группу навечно. Мне же она нужна для того, чтобы отправить остудиться чела, который строчит мелкие нарушения по 1 баллу, и никак его не утихомирить. Случай редкий, существующий лишь в теории. Но зачем иначе второй вариант системы нужен вообще?
@usrg
Эксперт
Join Date: May 2009
Posts: 982
Версия vB: 3.8.4
Reputation:
Expert 1420
Репутация в разделе: 161
0
Quote:
Originally Posted by Тру
Но зачем иначе второй вариант системы нужен вообще?
Ты ж дал ответ -
Quote:
Originally Posted by Тру
имеет смысл только если юзера после достижения лимита отправлять в определённую группу навечно
А к этой группе можно применять уже другие правила автоматической блокировки именно по баллам, а не количеству нарушений...
@Тру, так ниже можно добавить группу нарушителей и автоматическую блокировку (разные параметры настроить)
З.Ы. Спрячь картинку под кат или просто ссылкой оставь
@usrg
Эксперт
Join Date: May 2009
Posts: 982
Версия vB: 3.8.4
Reputation:
Expert 1420
Репутация в разделе: 161
0
@Тру,
@True
Администратор
Join Date: Nov 2007
Награды в конкурсах:
Posts: 1,313
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 1305
Репутация в разделе: 553
0
@usrg, так это не снимает изначальной проблемы, когда за истёкшие нарушения прошлых лет участник отправится в бан повторно.