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

Vlasov

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

Exile

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

Phoenix

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

Открыть 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

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