Форум русской поддержки Joomla!® CMS
21.07.2017, 04:49:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Вынос configuration.php за пределы корня сайта

 (Прочитано 10829 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Sulpher
Практически профи
*******

Репутация: +389/-15
Offline Offline

Пол: Мужской
Сообщений: 2301


Шаблоны и расширения Joomla


« : 04.02.2009, 17:53:58 »

Для повышения безопасности сайта и защиты конфигурационного файла от изменений извне со стороны взломщиков, рекомендуется выносить configuration.php за пределы корневого каталога сайта.

Сделать это довольно легко.

1. Выставите все необходимые настройки в configuration.php (позже у вас не будет возможности отредактировать глобальную конфигурацию через админ.панель Joomla)

2. Зайдите по FTP в корень сайта и сделайте копию configuration.php.

3. Переместите configuration.php за пределы корня сайта, например, на уровень ниже и создайте специальную папку:
Если путь к сайту такой: /home/xxxxx/docs/, то файл переносите в /home/xxxxx/security/ - где security - имя созданной папки.
переименуйте configuration.php на своё усмотрение (например, config.php).

4. Возвращайтесь в корень сайта и на место исходного configuration.php запишите новый файл с таким содержимым:

Код
<?php
require( '/home/xxxxxx/security/config.php' );
?>
 


Где xxxxxx - путь к серверу из переменной $mosConfig_absolute_path, кот. можно посмотреть в оригинальном файле  configuration.php

5. Сохраняйте изменения и закачивайте на сервер.

6. Выставите права файлам configuration.php и config.php в 444.

Готово.
Записан
smart
Администратор
*******

Репутация: +1310/-14
Offline Offline

Пол: Мужской
Сообщений: 6850


снова дома...


« Ответ #1 : 04.02.2009, 17:59:38 »

И от чего это спасет? Если у злоумышленника есть доступ к корневой директории, то никто ему не помешает точно так же подключить этот файл, и считать из переменных их значения. Ровным счетом никакого выигрыша от данного действия я не вижу. Если вор уже в квартире, то не важно, храните ли вы деньги в коридоре под зеркалом, или на лоджии в шкафчике.
Записан
VETERINAR
Живу я здесь
******

Репутация: +165/-14
Offline Offline

Пол: Мужской
Сообщений: 868


Kiss my shiny metal ass!


« Ответ #2 : 04.02.2009, 18:04:28 »

У меня есть огромные сомнения по поводу того, что это хоть как-то усилит безопасность. Если у взломщика будет какая-то возможность изменять файлы извне, то куда конфиг не закопай - это не поможет. Ну отредактирую я другой файл извне, имя которого я знаю (допустим, что Вы назвали файл конфига не "config.php", а "FgfgDFFDfgffDFRR.php" для ещё большей безопасности).

В файл, который я смогу что-то записать я вставлю функцию чтения из файла configuration.php и вывожу на экран функцию инклуда. Теперь я знаю имя реального конфига. Дальше я читаю его содержимое и вывожу его на экран. Мне это сделать ничего не запретит.
Записан
yip
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 1


« Ответ #3 : 24.01.2012, 14:10:23 »

По крайней мере он не сможет узнать имя и пароль Вашей базы данных.
Записан
beliyadm
Профи
********

Репутация: +1588/-63
Offline Offline

Пол: Мужской
Сообщений: 8440


Севастополь == Россия


« Ответ #4 : 24.01.2012, 14:36:19 »

тогда и
robots и .htaccess
выносить надо
Ну там доступы к БД не хранятся хотя бы
А вообще, конечно, не особо способ
Записан
Xammax
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 7


« Ответ #5 : 28.08.2012, 20:13:17 »

Есть вот такое решение, опубликованное на сайте разработчиков RSFireWall.
http://www.rsjoomla.com/support/documentation/view-article/218-file-and-folder-access-check-checking-if-configurationphp-is-outside-of-public-html.html

Текст ниже переведён через Яндекс.

Есть несколько способов, чтобы защитить таких деликатных файлов из открытого доступа, но большинство из них не являются, насколько это возможно. Хороший способ защитить ваш configuration.php файл-это просто переместить его в не-public folder. Однако, обратите внимание, что это не просто скопировать и вставить операции, определенные изменения должны быть сделаны. Ниже мы предоставим шаг за шагом инструкции о том, как этого добиться.
Шаг 1 : Переместить configuration.php для безопасной директории вне public_html.
Шаг 2: Вам придется изменить /includes/defines.php и /administrator/includes/defines.php файлы, точнее, эта константа:
define ('JPATH_CONFIGURATION', JPATH_ROOT);
Если, например, вы хотите, чтобы переместить файл на один уровень вверх и в папку с именем "test" константа будет выглядеть так:
define ('JPATH_CONFIGURATION', JPATH_ROOT.DS.'..'DS.'test');
Шаг 3: Убедитесь, что configuration.php не для записи на всех, так что она не может быть переопределена com_config.
Шаг 4: Если вам необходимо изменить настройки конфигурации, сделать это вручную в переселены configuration.php.

Примечание:
Используя этот метод, даже если Веб-сервер каким-то образом обеспечивает содержимое PHP-файлов, например, в результате неправильной, никто не может увидеть содержимое реальный конфигурационный файл. Имея учетом недостатком, если не находиться в состоянии настроить глобальные параметры, это еще хороший метод защиты против mallacious атак.
----------------------------------------------------------------------------------------------------------------
Точно не помню но вроде бы у меня так не получилось поэтому сделал вот как:

define('JPATH_CONFIGURATION',   JPATH_ROOT.DS.'/../test');

 /public_html/administrator/includes/defines.php
define('JPATH_CONFIGURATION',   JPATH_ROOT.DS.'/../avtoconf');

Записан
Murchik
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 10


« Ответ #6 : 12.01.2014, 21:13:11 »

Долго не мог врубиться как правильно написать эту строчу. И методом научного тыка сделал...
define('JPATH_CONFIGURATION', JPATH_ROOT . '/../вашкаталог');
Без всяких DS
Удачи!
Записан
Николай39
Новичок
*

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 6



« Ответ #7 : 18.06.2017, 01:03:49 »

Дополнение на версии Joomla 3.7.х. Кое что поменялось теперь надо так делать.
В моей версии хостинга: "Сюда перемещаем"/www/Мой сайт/
Изменяемем файл "defines.php" по пути. administrator/includes/defines.php открываем редактируем стоку 18 (Стока не критерий поиска) с текстом
Код:
define('JPATH_CONFIGURATION', JPATH_ROOT);
и дописываем до такого вида
Код:
define('JPATH_CONFIGURATION', JPATH_ROOT . DIRECTORY_SEPARATOR . '/../../бла-бла');
.
Меняем другой по пути "includes/defines.php" меняем тоже самое. В моём варианте как видите получилось на 2 шага вверх.
Записан
Septdir
Практически профи
*******

Репутация: +93/-3
Offline Offline

Пол: Мужской
Сообщений: 1942


Skype: septdir


« Ответ #8 : 18.06.2017, 01:26:17 »

Дополнение на версии Joomla 3.7.х. Кое что поменялось теперь надо так делать.
В моей версии хостинга: "Сюда перемещаем"/www/Мой сайт/
Изменяемем файл "defines.php" по пути. administrator/includes/defines.php открываем редактируем стоку 18 (Стока не критерий поиска) с текстом
Код:
define('JPATH_CONFIGURATION', JPATH_ROOT);
и дописываем до такого вида
Код:
define('JPATH_CONFIGURATION', JPATH_ROOT . DIRECTORY_SEPARATOR . '/../../бла-бла');
.
Меняем другой по пути "includes/defines.php" меняем тоже самое. В моём варианте как видите получилось на 2 шага вверх.

Вот только толку от этого 0
Записан
rkron
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 78


« Ответ #9 : 18.06.2017, 08:23:37 »

Дополнение на версии Joomla 3.7.х. Кое что поменялось теперь надо так делать.
В моей версии хостинга: "Сюда перемещаем"/www/Мой сайт/
Изменяемем файл "defines.php" по пути. administrator/includes/defines.php открываем редактируем стоку 18 (Стока не критерий поиска) с текстом
Код:
define('JPATH_CONFIGURATION', JPATH_ROOT);
и дописываем до такого вида
Код:
define('JPATH_CONFIGURATION', JPATH_ROOT . DIRECTORY_SEPARATOR . '/../../бла-бла');
.
Меняем другой по пути "includes/defines.php" меняем тоже самое. В моём варианте как видите получилось на 2 шага вверх.

Если что то делать в плане защиты так это закрывать доступ к папке админа, или глобально, как в yii выносить админ часть на другой домен и хостинг. А манипуляции с конфигом полная ерунда.
Записан
winstrool
Завсегдатай
*****

Репутация: +41/-2
Offline Offline

Пол: Мужской
Сообщений: 796


Свободен для работы


« Ответ #10 : 18.06.2017, 23:24:19 »

Манипуляция с конфигом может помочь, только против ботов, которые через уязвимость, локального чтения файлов, собирают конфиги, берут данные и делают свои манипуляции
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet