Как вынести файл Configuration.php за пределы корня сайта Joomla

Как вынести файл Configuration.php за пределы корня сайта Joomla

В этой статье мы продолжим защищать наш сайт на Joomla!

Предлагаю перенести файл конфигураций (Configuration.php) за пределы корневой папки сайта.

Если злоумышленник раздобудет доступ к файлу, то с нашим сайтом в некоторых случаях можно будет попрощаться, так как в нём хранится информация о доступе к базе данных и логин + пароль суперадминистратора от админки.

Потерять доступ к сайту в данной ситуации будет больше шансов у тех, кто не делает резервных копий.

Перед началом внесения изменений обязательно сделайте Backup сайта!

Также, думаю, будет нелишним перенести папки logs и tmp. Как правило, на эти директории выставлены максимальные права, а значит, в них можно закинуть любой скрипт и выполнить его.

Ну что ж, приступим.

1. Для начала спрячем конфигурационный файл:

  • Подготовим новое место под сам файл. Чаще всего сайт лежит в public_html. Нам необходимо выйти на уровень выше и там создать папку. Я назову её new_folder, а у вас должно быть оригинальное, известное только вам имя.
  • Теперь из корня сайта переместите интересующий нас файл в только что созданную директорию.
  • Далее необходимо внести правки в паре файлов. Следуем по пути: includes -> defines.php. Находим там строку define(‘JPATH_CONFIGURATION’, JPATH_ROOT) и изменяем её на define(‘JPATH_CONFIGURATION’, JPATH_ROOT .DIRECTORY_SEPARATOR . ‘/../new_folder’). Теперь возьмёмся за второй файл: /administrator/includes -> defines.php. В нём производим аналогичные действия.

Готово!

2. Ниже вынесем папки с временными файлами и логами:

  • Не будем городить кучу новых папок, а всё в той же (new_folder) создадим logs и tmp.
  • Далее нам нужно системе показать, где искать данные директории. Есть два варианта исполнения: внести изменения напрямую в файл конфигураций, либо через админку сайта. Сделаем это через неё.
  • Идём: «Система» -> «Общие настройки». Открываем вкладку «Система» и в поле «Путь к каталогу логов» исправляем /какие-то папки до корня*/public_html/logs на /какие-то папки до корня/new_folder/logs.
  • Переходим во вкладку «Сервер» и в поле «Путь к каталогу временных файлов» исправляем /какие-то папки до корня/public_html/tmp на /какие-то папки до корня/new_folder/tmp.

* Способ узнать путь к корню сайта:

В корне сайта есть файл index.php, откройте его и в самый конец вставьте echo $_SERVER[‘DOCUMENT_ROOT’];. Откройте в браузере ваш сайт и пролистайте его до самого низа, там появится строчка с тем самым путём. Скопируйте её и удалите из файла index.php ранее добавленный код.

Не забудьте в каждой новой папке (new_folder, logs, tmp) создать пустой файл index.html.

Также необходимо удалить из корня сайта файл Configuration.php, если он там остался, и папки logs и tmp.

Всё!

В следующей статье напишу, как запретить исполнение php-файлов.

Если остались вопросы, то задавайте их в комментариях, постараюсь ответить.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *