В каком файле хранится информация о параметрах соединения сайта с базой данных

Обновлено: 06.07.2024

У меня есть файл config.php, где я просто делаю огромный массив, содержащий всю конфигурацию фреймворка. Кроме того, источник строки источника базы данных, такой как "mysql: host = localhost; dbname = mydb" (что называется, btw?) И имя пользователя + пароль для БД. Я боюсь, что это:

  • глупы
  • Нехорошо; лучшее решение там
  • не защищен (?)

так как это делают эксперты PHP?

ОТВЕТЫ

Ответ 1

Как это сделать, но вы также можете попробовать некоторые из этих решений:

    Сохраните файл конфигурации вне веб-папки (для этого требуется, чтобы конфигурация open_basedir в PHP отключена).

Ограничьте доступ к файлу конфигурации с помощью .htaccess:

< Местоположение /config.php > Отказаться, разрешить Отказаться от всех </& Расположение GT;

Используйте файлы .ini и parse_ini_file (это не само по себе решение, но может быть объединено с другими)

Ответ 2

Никто не может получить доступ к этому файлу без доступа к FTP, и поэтому он относительно безопасен по сравнению с наличием в папке приложения.

Если у вас нет такой папки, вы можете ее создать и создать файл .htaccess в корневом каталоге, который перенаправляет все запросы в эту папку. Есть много разных способов сделать это, но это другой вопрос все вместе.

Ответ 3

Я храню его в файле конфигурации обычного текста ini, обычно над корнем веб-сайта, чтобы не разрешать пользователям доступ к нему. В тех случаях, когда он доступен, у меня обычно есть файл .htaccess с deny from all , чтобы предотвратить доступ к нему.

Сохранение его в файле PHP, доступном для пользователей, должно быть прекрасным, но это не идеально. Если дескриптор правильно обрабатывает файлы PHP, даже если люди могут получить доступ к файлу, они не могут получить доступ к значениям, поскольку они просто получают вывод (ничего). Есть, конечно, проблемы с этим (см. Комментарии).
Использование PHP файлов является наиболее распространенным методом с PHP-проектами (как FOSS, так и коммерческими), которые я использовал. Большинство из них не сохранили их выше корня сети. При любой стабильной настройке на самом деле очень мало места для хранения вашего файла конфигурации над корнем веб-сайта, хотя данный Закон Мерфи стоит сделать, если вы можете (это или использовать .htaccess или равноценность для вашего сервера, чтобы лишить пользователя доступа к каталогу)

Ответ 4

Почему хранить имя пользователя и пароль БД в "config.php" не так? пока я знаю, данные в этом файле не могут быть показаны публично.

если только хакер не сможет получить доступ к вашему FTP.

Ответ 5

Почему это глупо хранить простой файл config.php без каких-либо ценных бумаг? Даже если программист находит этот файл, он ничего не может сделать, потому что, как сказал amindzx, "этот файл не может быть показан публично". Или я ошибаюсь?

Ответ 6

С конфиденциальными данными, такими как учетные данные базы данных или платежного шлюза, и когда у меня есть контроль над сервером, мне нравится добавлять в конфигурацию своего виртуального хоста apache следующие строки:

В вашем PHP вы можете получить доступ к ним с помощью $_SERVER ['DB_USER']. Вы можете сделать этот конфигурационный файл доступным только для root, который вы никогда не сможете сделать с файлом, который php обращается во время выполнения. Одно предостережение. Обязательно отключите php_info и не подвергайте эти переменные чем-то глупому как print_r ($ _ SERVER). (Большая часть этого перефразируется или украдена из здесь.)

Для нечувствительной конфигурации мне нравится делать класс, полный констант, который похож на вашу настройку, но мне нравится OOP-его.

В Joomla есть файл configuration.php, в котором есть строчки:

var $host = 'сервер'; var $user = 'имя_пользователя'; var $db = 'имя_базы_данных'; var $password = 'пароль';

В WordPress есть файл wp-config.php, в котором есть строчки:

define('DB_NAME', 'имя_базы_данных'); define('DB_USER', 'имя_пользователя'); define('DB_HOST', 'сервер'); define('DB_PASSWORD', 'пароль');

В Drupal в папке /site/default/ есть файл settings.php, в котором есть строчка $db_url = 'mysql://username:password@mysqlhost/databasename'; Где:

username - имя пользователя; password - пароль; mysqlhost - сервер базы данных; databasename - имя базы данных.

В DLE в папке /engine/data/ есть файл dbconfig.php, в котором подключение к базе прописывается в строчках:

define ("DBHOST", "сервер"); define ("DBNAME", "имя_базы_данных"); define ("DBUSER", "имя_пользователя"); define ("DBPASS", "пароль");

В Shop-script подключение настраивается в файле /cfg/connect.inc.php

define('DB_HOST', 'сервер'); define('DB_USER', 'имя_пользователя'); define('DB_PASS', 'пароль'); define('DB_NAME', 'имя_базы_данных');

В ShopCMS база данных подключается в файле /core/config/connect.inc.php

define('DB_HOST', 'сервер'); define('DB_USER', 'имя_пользователя'); define('DB_PASS', 'пароль'); define('DB_NAME', 'имя_базы_данных');

В WebAsyst всё немного сложнее. Там есть файл /dblist/логин.xml в котором за соединение с базой отвечают следующие параметры:

SQLSERVER="сервер" DB_NAME="имя_базы_данных" DB_PASSWORD="пароль" DB_USER="имя_пользователя"

а также в файле кеша /temp/scdb/.settings.логин дублируются эти же параметры:

"DB_USER" "имя_пользователя" "DB_PASS" "пароль" "DB_NAME" "имя_базы_данных" "DB_HOST" "сервер"

В PrestaShop подключение настраивается в файле /config/settings.inc.php

define('_DB_NAME_', 'имя_базы_данных'); define('_DB_SERVER_', 'сервер'); define('_DB_USER_', 'имя_пользователя'); define('_DB_PASSWD_', 'пароль');

В MODx подключение настраивается в файле /manager/includes/config.inc.php:

$database_server = 'сервер'; $database_user = 'имя_пользователя'; $database_password = 'пароль'; $dbase = 'имя_базы_данных’;

В Bitrix подключение настраивается в файле /bitrix/php_interface/dbconn.php:

$DBHost = "сервер"; $DBLogin = "имя_пользователя"; $DBPassword = "пароль"; $DBName = "имя_базы_данных";

В PHPShop подключение настраивается в файле phpshop/inc/config.ini:

host = "сервер"; user_db = "имя_пользователя"; pass_db = "пароль"; dbase = "имя_базы_данных";

В HostCMS конфигурационный файл размещается в modules/core/config/database.php и содержит следующие настройки:

'driver' => 'mysql', 'host' => 'localhost', 'username' => 'srv83user', 'password' => 'megapassword', 'database' => 'hostcms'

В UMI реквизиты подключения в секции [connections] файла docs/config.ini: Код:

core.host = "адрес_сервера" core.login = "имя_пользователя" core.password = "пароль" core.dbname = "имя_базы_данных"

В phpBB файле docs/config.php:

$dbhost = 'адрес_сервера'; $dbname = 'имя_базы_данных'; $dbuser = 'имя_пользователя'; $dbpasswd = 'пароль';

В NetCat соединение с базой данных настраивается в файле docs/vars.inc.php:

$MYSQL_HOST = "адрес_сервера"; $MYSQL_USER = "имя_пользователя"; $MYSQL_PASSWORD = "пароль"; $MYSQL_DB_NAME = "имя_базы_данных";

В Amiro.CMS настройки соединения с базой данных устанавливаются в файле docs/_local/config.ini.php:

DB_Host = "адрес_сервера" DB_Database = "имя_базы_данных" DB_User = "имя_пользователя" DB_Password = "пароль"

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

На этой странице мы собрали названия конфигурационных файлов и строки, в которых хранятся настройки для подключения к базе данных для популярных CMS. Сведения указаны исходя из того, что CMS установлена в корневой каталог по умолчанию (

1. Joomla!

Имя файла, в котором указываются параметры подключения:

var $host = 'имя_сервера';
var $user = 'имя_пользователя';
var $db = 'имя_базы_данных';
var $password = 'пароль';

2. WordPress

Имя файла, в котором указываются параметры подключения:

define('DB_NAME', 'имя_базы_данных');
define('DB_USER', 'имя_пользователя');
define('DB_HOST', 'имя_сервера');
define('DB_PASSWORD', 'пароль');

3. «1C-Битрикс»

Имя файла, в котором указываются параметры подключения:

$DBHost = "имя_сервера";
$DBLogin = "имя_пользователя";
$DBPassword = "пароль";
$DBName = "имя_базы_данных";

Начиная с версии 14 параметры подключения к базе также указаны в файле:

'host' => "имя_сервера',
'database' => 'имя_базы_данных',
'login' => 'имя_пользователя',
'password' => 'пароль',

4. Drupal

Имя файла, в котором указываются параметры подключения:

$db_url = ' mysql ://имя_пользователя:пароль@имя_сервера/имя_базы_данных;

5. PHPShop

Имя файла, в котором указываются параметры подключения:

host = " имя_сервера";
user_db = "имя_пользователя";
pass_db = "пароль";
dbase = "имя_базы_данных";

6. UMI.CMS

Начиная с версии 2.8.х параметры подключения к базе указаны в файле:

core.host = "имя_сервера"
core.login = "имя_пользователя"
core.password = "пароль"
core.dbname = "имя_базы_данных"

7. MODX Revolution

По умолчанию параметры подключения к базе указаны в файле:

$database_server = 'имя_сервера';
$database_user = 'имя_пользователя';
$database_password = 'пароль';
$dbase = 'имя_базы_данных';
$database_dsn = 'mysql:host=имя_сервера;dbname=имя_базы_данных;

8. OpenCart

Параметры подключения к базе указаны в двух файлах:

/ваш_домен/docs/config.php

/ваш_домен/docs/admin/config.php

define('DB_HOSTNAME', 'имя_сервера');
define('DB_USERNAME', 'имя_пользователя');
define('DB_PASSWORD', 'пароль');
define('DB_DATABASE', 'имя_базы_данных');

9. Webasyst

Имя файла, в котором указываются параметры подключения:

'host' => 'имя_сервера',
'port' => false,
'user' => 'имя_пользователя',
'password' => 'пароль',
'database' => 'имя_базы_данных',
'type' => 'mysql',

10. Datalife Engine (DLE)

Имя файла, в котором указываются параметры подключения:

define ("DBHOST", "имя_сервера");
define ("DBNAME", "имя_базы_данных");
define ("DBUSER", "имя_пользователя");
define ("DBPASS", "пароль");

11. Прочие CMS

Если вашей CMS нет в списке, рекомендуем уточнить информацию о конфигурационных файлах у разработчика сайта или в документации по CMS. Также в большинстве вы можете найти конфигурационные файлы, подключившись к хостингу по SSH и выполнив команду:

mysql_connect_0

Довольно часто встречаются вопросы в службу поддержки о том какие параметры использовать для подключения к базе данных. Итак, вы прошли долгий путь от заказа до оплаты, и наконец-то вам пришли долгожданное письмо с данными доступа к вашему новенькому хостинг-аккаунту и к панели управления соответственно. Вы решаетесь на установку CMS или попросту хотите перенести свой сайт на новую площадку, будь то с другого хостинга или просто с домашнего или рабочего компьютера.

Имя сервера БД.
Значение данного параметра определяет, к какому именно серверу Ваша программа будет производить подключение. В случае виртуального хостинга всегда следует указывать значение "localhost" иногда "127.0.0.1" (без кавычек).

Имя пользователя (логин) БД.
Значение параметра указывает серверу, права какого именно пользователя предполагается получить после успешного подключения к серверу. Значение, которое необходимо использовать, указывается в колонке "Логин" в разделе "Базы MySQL".

Пароль пользователя БД.
Значение параметра должно являться тем паролем, что задавался в разделе "Базы данных" при создании новой базы либо обновлении пароля существующей базы.

Имя БД.
В качестве значения параметра следует указывать имя базы данных, с которой будет работать ранее определенный пользователь БД. Имя БД задается самостоятельно при ее создании в Панели управления в разделе "Базы данных". После создания базы её имя всегда указывается в том же разделе в колонке, называющейся "Имя базы".

Итак, проходим авторизацию в панели управления вашим хостинг-аккаунтом и видим следующее. В левом меню вы без труда найдете раздел "Базы данных", где собственно вам и предстоит создать вашу базу данных, а также пользователя и его пароль.

Жмете кнопку "Создать" и вводите данные на ваше усмотрение, ИМЯ базы, Имя пользователя, пароль (можете воспользоваться инструментом генерирования пароля), и далее "ОК".



P.S.: Не забудьте сохранить или запомнить пароль.

После этого вы увидите в Разделе управления базами данных соответствующую запись. Обратите внимание что к введенному вами имени базы и пользователя добавился префикс в виде имени пользователя к хостинг-аккаунту (login_имябазы, login_имяпользователя).



Вот именно эти данные вам нужно будет использовать для подключения к базе данных.

Подключение MySQL к CMS

Но вот Вы вошли на хостинг и добрый робот Вам напоминает, что давно не меняли пароль базы MySQL, надо сменить. Да, пожалуйста.

Joomla

Подключение к базе данных настраивается в файле

/configuration.php в параметрах:

WordPress

Подключение настраивается в файле

1С-Битрикс

Подключение настраивается в файле

UMI.CMS

Параметры подключения к БД смотрите в секции [connections] файла

Drupal

/site/default/ размещается файл settings.php, содержащий строку:


Amiro.CMS

Настройки соединения с базой данных устанавливаются в файле

ShopCMS

База данных подключается в файле

WebAsyst

Параметры подключения к базе данных устанавливаются в нескольких файлах:

/kernel/wbs.xml указываем имя сервера баз данных в строке

/dblist/КЛЮЧ.xml задаются адрес сервера, имя базы данных, имя и пароль mysql-пользователя в строке:

также все параметры сохраняются во временном кеш-файле

/temp/scdb/.settings.КЛЮЧ. После изменения параметров подключения к базе данных в предыдущих файлах следует удалить кеш-файл.

HostCMS

Параметры соединения с базой данных задаются в файле

NetCat

Соединение с базой данных настраивается в файле

MODx

Подключение настраивается в файле

PrestaShop

Параметры соединения с базой данных устанавливаются в файле

DataLife Engine (DLE)

/engine/data/ размещается файл dbconfig.php, в котором подключение к базе прописывается в строках:

Shop-script

Подключение настраивается в файле

CMS PHPShop

Подключение настраивается в файле

phpBB

/config.php устанавливаются значения для параметров:

Вы можете сохранить ссылку на эту страницу себе на компьютер в виде htm файла

Вы будете видеть наш сайт у себя в ленте

  • Всего статей в разделе: 3
  • Показано статей в списке: 2
  • Сортировка: название по алфавиту

Denwer

База данных MySQL

Зачем вообще нужна какая-то база данных для сайта? Что такое вообще сайт? Это обычный текстовый файл с расширением html (точнее - URL в строке браузера. может быть и без расширения). Браузер открывает ссылку, читает тэги и выводит на экран. В самом простом варианте так <html> <head> </head> <body> Hello, World </body> </html> Можете попробовать сохранить в блокноте index .html и кликнуть мышкой. Поздравляем с Вашим первым сайтом! И конечно, там в коде сайта еще есть: вызовы картинок (они хранятся отдельно) вызовы скриптов CSS вызовы скриптов JavaScript и прочее И кстати. Всё это передается простым текстовым.
(Читать полностью. )

Читайте также: