Обнаружена недостаточная проверка данных в коде которая позволяет модераторам удалять сообщения и темы даже если они не имеют на это прав.Шаг первый:
Редактируем файл: /engine/bullet_energy/action/site/set.phpНайти:
parent::$db->query("DELETE FROM " . DBNAME . "." . PREFIX . "_be_topic WHERE id IN ({$option['arrayIdTopic']})") ;
parent::$db->query("DELETE FROM " . DBNAME . "." . PREFIX . "_be_message WHERE id_topic IN ({$option['arrayIdTopic']})") ;
parent::$db->query("DELETE FROM " . DBNAME . "." . PREFIX . "_be_feed WHERE id_topic IN ({$option['arrayIdTopic']})") ;
Заменить на:
if (parent::$helper->ckeckModulesConfig('be_moder_del_user_topic')) {
parent::$db->query("DELETE FROM " . DBNAME . "." . PREFIX . "_be_topic WHERE id IN ({$option['arrayIdTopic']})") ;
parent::$db->query("DELETE FROM " . DBNAME . "." . PREFIX . "_be_message WHERE id_topic IN ({$option['arrayIdTopic']})") ;
parent::$db->query("DELETE FROM " . DBNAME . "." . PREFIX . "_be_feed WHERE id_topic IN ({$option['arrayIdTopic']})") ;
} else return parent::$helper->getError(parent::$bullet_energy_lang['msg_64']) ;
Шаг второй:
Редактируем: /engine/bullet_energy/action/site/post_mass.phpНайти:
private function _delete()
{
...
}
Заменить на:
private function _delete()
{
if(parent::$helper->ckeckModulesConfig('be_moder_del_message_user')) {
...
} else {
return parent::$helper->getJson(array('param' => 0, 'data' => 'Недостаточно прав')) ;
}
}