За последнее время было найдено несколько серьёзных багов в ExBB FM 1.0 Beta, которые в данный момент не исправлены. Поэтому выкладываю исправления
Баг со списком зарегистрированных пользователей
Позволяет злоумышленнику не прилагая никаких усилий за раз вывести всех зарегистрированных пользователей на одну страницу, что создаст значительную нагрузку на сервер и может использоваться для ddos атак (одновременно открываются сотни или даже тысячи файлов). Достаточно просто подставить отрицательное число в поле "Сколько пользователей выводить на страницу"
Для исправления открываем файл tools.php, находим строку:
CODE:$per_page = ($fm->_Intval('pg', 25) > 100) ? 100:$fm->input['pg'];
и заменяем её на эту строку:
CODE:$per_page = (abs($fm->_Intval('pg', 25) > 100)) ? 100:abs($fm->input['pg']);
В этой строке мы берём модуль вводимого числа и соответственно никакие уловки со вводом отрицательного числа больше не сработают.
Баг с пагинатором в админке
В списке зарегистрированных пользователей в админке не работает переход по страницам, генерируемые ссылки для перехода по страницам имеют вид:
CODE:setmodule.php?module=memcontrol&s=d&order=ASC&p=%d
Также выводится ошибка типа:
CODE:Notice: Undefined index: TotalPages
Для исправление открываем файл modules/memcontrol/index.php и находим строку:
CODE:$get_param = 'setmodule.php?module=memcontrol&s='.$sort.'&order='.$order.'&p=%d';
и заменяём её на строку:
CODE:$get_param = 'setmodule.php?module=memcontrol&s='.$sort.'&order='.$order.'&p={_P_}';
Далее открываем файл language/russian/lang_admin_all.php и вставляем в него недостающие языковые строки:
CODE:$this->LANG['TotalPages'] = '<b>Страниц</b> ';
$this->LANG['ToStart'] = 'В начало';
$this->LANG['ToEnd'] = 'В конец';
$this->LANG['PrevPage'] = 'Предыдущая страница';
$this->LANG['NextPage'] = 'Следующая страница';
Если вы нашли ещё какие-либо баги отписывайтесь здесь, постараюсь исправить |