исправлено Проверка прав доступа в ajax posts

Vlasov

Пользователь
#1
Доброго ...
Суть бага, при удаление постов не выполняется проверка соответствующих прав.
Если удаление постов в определенном форуме разрешено только администраторам, модератор все же может удалить пост.
Довольно серьезный баг ИМХО
 

Exile

Администратор
#4
Можете повторить баг на демо? Потому что судя по коду проверка на право управления постами в конкретном форуме есть.
 

Phoenix

Пользователь
#5
Фикс прав на удаление и добавление неучтенного запрета на редактирование, устанавливаемого в профиле...

Открыть ajax\posts.php
найти:
PHP:
if ($post['post_id'] != $post['topic_first_post_id'] && ($is_auth['auth_mod'] || ($userdata['user_id'] == $post['poster_id'] && $is_auth['auth_delete'] && $post['topic_last_post_id'] == $post['post_id'] && $post['post_time'] + 3600*3 > TIMENOW)))
заменить на:
PHP:
if ($post['post_id'] != $post['topic_first_post_id'] && $is_auth['auth_delete'] && ($is_auth['auth_mod'] || ($userdata['user_id'] == $post['poster_id'] && $post['topic_last_post_id'] == $post['post_id'] && $post['post_time'] + 3600*3 > TIMENOW)))
найти:
PHP:
$this->ajax_die(sprintf($lang['DELETE_OWN_POSTS'], strip_tags($is_auth['auth_delete_type'])));
заменить на:
PHP:
$this->ajax_die(sprintf($lang['SORRY_AUTH_DELETE'], strip_tags($is_auth['auth_delete_type'])));
найти:
PHP:
case 'edit':
добавить после:
PHP:
if(bf($userdata['user_opt'], 'user_opt', 'allow_post_edit'))
{
    $this->ajax_die($lang['POST_EDIT_CANNOT']);
}
найти (встречается дважды в коде):
PHP:
$this->ajax_die($lang['RULES_REPLY_CANNOT']);
заменить найденные совпадения на:
PHP:
$this->ajax_die(strip_tags($lang['RULES_REPLY_CANNOT']));
Открыть language\lang_russian\lang_main.php
добавить:
PHP:
$lang['POST_EDIT_CANNOT'] = 'Извините, вы не можете редактировать сообщения';
Открыть language\lang_english\lang_main.php
добавить:
PHP:
$lang['POST_EDIT_CANNOT'] = 'Sorry, but you cannot edit posts';
 

Dr_Brown

Пользователь
#6
Все же хотелось бы чтобы после проверки модером релиза, юзер не мог его потом редактировать, или после редактирования, пост становился снова не проверен, или проверяется. А то были красавцы, проверишь, а они потом туда сслылок насуют...-БАН С--И!
 
Сверху