|  |  | 
| 
 | ||||||||
| Инструкции для XenForo Различные инструкции и рекомендации по движку XenForo | 
|  | 
|  | Опции темы | Поиск в этой теме | 
|  08.08.2011, 11:44
			
			
Вверх | #1 | |||
| Коварный тип    
 |  Как защитить админку XenForo Как защитить админку XenForo Автор статьи: Romchik® Источник Итак, в этой статье будет рассмотрено 3 варианта защиты админки XenForo. 
 1. Ограничение доступа к файлу admin.php по IP через .htaccess Тут все просто. Узнаем свой IP (например тут) и дописываем к файлу .htaccess (в корне форума) следующее: Код: <Files admin.php> Order deny,allow Deny from all Allow from 121.222.33.44 </Files> Код: <Files admin.php> Order deny,allow Deny from all Allow from 111.222.33.44 112.223.34.45 113.224.35.46 </Files> Код: 100.99.88.x = 100.99.88.0/24 100.99.x.x = 100.99.0.0/16 100.x.x.x = 100.0.0.0/8 Для тех же, у кого не прописан IP, будет выдаваться страница с ошибкой 403: Код: Forbidden You don't have permission to access /forum/admin.php on this server. 2. Ограничение доступа к файлу admin.php по паролю через .htaccess и .htpasswd. Генерируем файл .htpasswd, задав логин и пароль. Можно воспользоваться следующим сервисом htaccesstools.com. Вводим желаемый логин и пароль и получаем что-то типа: login:$apr1$sOXY....$C4/V8oJK89nf3D3OEIs5Q/ Сохраняем полученную строчку в файл .htpasswd и загружаем его на сервер. Желательно расположить его выше корня сайта, т.е. там, куда посетители не могут добраться. Дальше нужно поправить .htaccess, который в корне форума, дописав туда следующее: Код: <Files admin.php> AuthUserFile /путь/относительно/корня/веб-сервера/до/файла/.htpasswd AuthType Basic AuthName "Какой-нибудь заголовок для диалогового окна авторизации" Require valid-user </Files> Недостаток этого способа в том, что пароль в админку нужно вводить 2 раза, причем в каждом случае он должен быть разным. Ну и кроме того, у неопытных пользователей даже с инструкцией могут возникнуть вопросы, как правильно защититься дополнительным паролем. 3. Переименовывание файла admin.php. Меняем в корне форума имя у файла admin.php на что-то свое, например, adminka.php. Но это еще не все. Многие ссылки в админке не будут теперь работать. Поэтому необходимо открыть library/XenForo/Link.php и найдя: Код: $outputLink = 'admin.php' . ($append !== '' ? '?' : '') . $append; Код: $outputLink = 'adminka.php' . ($append !== '' ? '?' : '') . $append; Код: <a href="admin.php" class="acp adminLink"><span class="itemLabel">{xen:phrase admin_control_panel}</span></a>И еще в шаблоне PAGE_CONTAINER находим: Код: <a href="admin.php">{xen:phrase reopen_via_admin_control_panel}</a>И не забываем проделывать эти 4 операции после каждого обновления еще раз! Недостаток третьего способа в том, что необходимо править файл (пусть и один, но все же). Это значит, что при каждом обновлении форума нужно не забыть переименовать обновленный admin.php и заменить новое имя в файле Link.php. Дополнительно: [взял тут] В версиях 1.1.3 и выше в шаблоне PAGE_CONTAINER отсутствует код Код: <a href="admin.php">{xen:phrase reopen_via_admin_control_panel}</a>Код: <a href="admin.php?options/list/boardActive">{xen:phrase reopen_via_admin_control_panel}</a> | |||
| Последний раз редактировалось Serberg; 22.04.2013 в 11:00.. | ||||
|   | ||||
| 3 пользователя(ей) сказали cпасибо: | 
|  22.04.2013, 10:50
			
			
Вверх | #5 | |||
| Коренной житель    
 |   Serberg дополни немного про защиту. В версиях 1.1.3 и выше в шаблоне PAGE_CONTAINER отсутствует код Код: <a href="admin.php">{xen:phrase reopen_via_admin_control_panel}</a>Код: <a href="admin.php?options/list/boardActive">{xen:phrase reopen_via_admin_control_panel}</a>Oleg88 а кто сказал, что злобный хацкер задался целью брутнуть пароль? Вариант с тем что ему доступ к форуму под админом не нужен не рассматривали? Есть миллион и даже больше гадостей, которые он сможет сделать узнав в какой именно папке лежит админка. | |||
|   | ||||
| Cказали cпасибо: |