|
|
Инструкции для 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пасибо: |