Приветствую!
Буквально вчера на этом сайте и некоторых других была замечена активность одного деятеля, который активно пытался использовать уязвимости плагина Wp-Recall для своих хулиганских целей. Действия касались в первую очередь проверки возможности внедрения SQL-инъекций и загрузки файлов с вредоносным кодом на сервер. Неприятно, но факт - некоторые действия увенчались успехом.
Смысла для паники никакой нет, это всего лишь очередная возможность проанализировать слабые места в безопасности плагина и поработать над их устранением. В конце концов, где еще найдешь тестера, который будет бесплатно, на протяжении нескольких часов, стараться выявить уязвимости. Так что скажем упомянутому персонажу "спасибо" и перейдем к описанию новой версии плагина Wp-Recall.
Как сообщалось выше, основные изменения коснулись безопасности плагина, что делает данное обновление просто необходимым. Что то конкретно описывать в этих изменениях трудно, да и вряд ли полезно.
В процессе работы над обновлением встал вопрос о необходимости блокирования некоторых аккаунтов на сайте, что привело к созданию новой группы пользователей "Бан", куда можно будет отправить пользователей замеченных в нехороших действиях на сайте. Пользователю, который получил честь находится в этой группе, будет выводиться надпись "Поздравляем! Вы были забанены." и дальнейшие действия на сайте для него станут невозможны.
Также был решен вопрос с доработкой дополнения рейтинга, а именно функционала удаления пользователя, при котором также должна удаляться вся его рейтинговая активность на сайте и соответствующим образом изменяться рейтинг других пользователей на который он повлиял своими действиями. Ранее этот вопрос уже решался, но последующее обновление плагина Wp-Recall сделало невозможным корректную работу этого функционала. Надеюсь данный вопрос все же будет теперь закрыт и удаление пользователя и его активности будет работать как надо.
Тем, кто хочет удалить всю рейтинговую активность конкретного пользователя без удаления самого пользователя могу предложить использовать данный код:
function init_delete_rayt_user(){ delete_all_rayt_user_rcl(123); } add_action('init','init_delete_rayt_user');
Где 123 - идентификатор нужного пользователя.
Внедряете этот код в файл функций, один раз перезагружаете свой сайт и после этого удаляете это код. В результате рейтинговая активность указанного пользователя будет полностью вычищена с сайта.
Ну и несколько мелких доработок.
Благодаря последним изменениям в дополнении Money Wallet стало возможным смотреть историю изменения баланса любого пользователя прямо со страницы "Пользователи" в админке.
Доработан вывод пользователей в шорткоде userlist с атрибутом usergroup, который описывался в предыдущем обновлении, теперь указанная группа пользователей выводиться более корректно.
Ну и на будущее, заложены основы с более гибкой работой с файлами различных типов в форме публикации.
Оперативно! Большое спасибо, вечером попробую рейтинг восстановить.
Я проверил на тестовом сайте и корректировка рейтинга прошла нормально, пробуйте. Будут проблемы с этим, пишите, будем разбираться.
А можно поподробнее как банить пользователей? По хорошему бы иметь такую кнопку в профиле пользователя. Только права настроить, чтобы Администратор Администратора не мог банить.
Плагин создает роль пользователя "Бан", отправляете туда пользователей и все. Данная роль будет создана при условии, что плагин перед обновлением был деактивирован.
Я плагин деактивировал и удалял. Роль не появилась.
Не знаю куда вы смотрите. Надо смотреть в выпадающий список ролей, при назначении новой роли пользователям.
Действительно там есть. Просто вверху над списком ее не было. Может быть можно реальзофать функцию бана сразу со страницы профиля пользователя? По аналогии с "добавить в черный список"
У админа есть админка, он может это сделать и там без каких-то проблем.
Извиняюсь, а "добавить в чёрный список", реализованных функционал на этом сайте от какого дополнения идёт и какие функции выполняет?
«nuke» наверно имеет в виду, что если реализовать кнопку, то было бы на много удобней добавлять в бан, без поиска пользователя в админке! а то представляете, если на сайте зарегино несколько сотен пользователей, вот и ищи теперь счастливчика среди них!
изменения оч нужные, будем вечерком тестить! спс за плагин!
именно так.
После обновления начала немного подглючивать аякс загрузка вкладок лк. иногда выдает мне возможность общаться с самим собой в сообщениях, не выдает результаты. только после перезагрузки можно увидеть корректное отображение вкладки.
Посмотрел ваш сайт, пока ничего сказать не могу - не включена ajax-загрузка вкладок, но могу пока посоветовать уменьшить интервал запросов в личном чате хотя бы до 15 сек, меньше ставить смысла нет, вряд ли кто то пишет сообщение быстрее, а сейчас у вас каждую секунду или даже быстрее отправляется по запросу на сервер.
пока не помогло
Проверил Бан-хаммер в действии - работает. Занес пользователя в бан. Прочитал сообщение wp_die (вп_умри:) )
Внедрил код который очищает рейтинг - сработал.
1. А активность этого пользователя не надо удалять? Чтобы он не светился в списке пользователей - таблица _rcl_user_action?
2. Может стоит и очищать все личные сообщения - им отправленные? Ну когда вписываешь очистку функцией init_delete_rayt_user. Ведь если он забанен, к примеру, за спам ссылки - пока пользователи их не прочитали и не перешли на фишинговые сайты. Функция delete_all_rayt_user_rcl - не удаляет сообщения
ну фактически отправка в бан это ведь не полноценное удаление, поэтому вся деятельность данного юзера на сайте остается, думаю, на будущее надо предусмотреть какую то кнопку на удаление всей активности пользователя, чтобы при нажатии на нее вся его активность удалялась при необходимости.
Главное предусмотреть, чтобы после удаления всех этих данных он с того же самого мыла не зарегился и не продолжил деятельность.
Так удаляться будет тока активность (комментарии, лс, поля в профиле и статус с авой). А сам пользователь (и мыло соответственно) будут занимать почетное место в бане.
А при заходе в профиль такому пользователю стоит вешать позорную табличку 🙂
я тупанул...
В 12-й версии, функция для удаления активности пользователя стала rcl_delete_ratingdata_user ?
верно
Прошу прощения что вмешиваюсь, но было бы не плохо, если бы можно было банить и на указанный срок. Мол бан на время как предупреждение. а потом бан на всегда!