|
Правила •
Регистрация •
Справка Сообщения за день • Поиск |
|
|
Опции темы | Опции просмотра |
[исход]
|
В связи с обнаружившейся уязвимостью, описанной в этом топике, возникла мысль сделать отдельную авторизацию для админ-панели системы.
В результате набросал нижеприведенный хак. ВНИМАНИЕ! Это alpha версия, предназначенная только для тестирования. Не устанавливайте ее на рабочие сайты. Отличие отдельной авторизации для администратора: 1) Используются только PHP сессии. 2) Авторизация длится только 20 минут 3) При формировании хэша авторизации используются IP и USER_AGENT администратора v1.0alpha-2 (24.06.2012) 4) Форма авторизации защищена от CSRF атак. 5) Форма авторизации защищена капчей Установка 1) Зайдите в phpMyAdmin, и выполните SQL запрос: Код:
CREATE TABLE IF NOT EXISTS `префикс_cpsession` ( `uid` mediumint(8) unsigned NOT NULL DEFAULT '0', `uname` varchar(30) NOT NULL DEFAULT '', `time` int(10) unsigned NOT NULL DEFAULT '0', `ip` varchar(15) NOT NULL DEFAULT '', `mid` mediumint(8) unsigned NOT NULL DEFAULT '0', `hash` varchar(40) NOT NULL DEFAULT '', PRIMARY KEY (`time`), KEY `idx` (`uid`,`hash`) ) ENGINE=MyISAM; Префикс к таблицам, вы можете посмотреть в корневом файле /mainfile.php, в переменной $rcxConfig['prefix'] Например, если у вас PHP код:
`префикс_cpsession` вы должны заменить на `2qsdF3f__cpsession` 2) Скопируйте содержимое папки runcms из прикрепленного архива в корневую директорию сайта Будут заменены следующие файлы: /class/sessions.class.php /include/cp_functions.php /include/common.php /language/russian/admin.php /admin.php v1.0alpha-2 (24.06.2012) /class/kcaptcha/kcaptcha.php ВНИМАНИЕ! Если вы вносили в выше перечисленные файлы, какие либо изменения, то они будут потеряны. --- Теперь авторизации на сайте и в админ-панели действуют независимо друг от друга, например, вы можете быть авторизованы в админ-панели но не сайте. Использование PHP сессии, делает бессмысленным кражу хэша авторизации, так как его теперь нельзя подставить в куки. Ограничение в 20 минут для сеанса и использование IP и USER_AGENT в хэше дает дополнительную защиту при краже ID PHP сессии. --- Апдейт 24.06.2012 Добавлена капча Добавлена защита от CSRF атак Последний раз редактировалось LARK, 06-24-2012 в 18:09 Правила нашего Форума :: О клубе пользователей RUNCMS :: Рекомендации по публикации сообщений :: Прежде чем задать вопрос воспользуйтесь Поиском ------------------------------------------------------------------- Если что-то не работает, задавая вопрос, ! ОБЯЗАТЕЛЬНО ! пишите версию RUNCMS/модуля/PHP/MySQL и текст самой ошибки. |
||||
|
|
|
|
Powered by: vBulletin Version 3.0 Copyright ©2000-2025, Jelsoft Enterprises Ltd. |
Все разделы прочитаны - Руководство форума - Архив - Вверх |