Где наиболее безопасное место для размещения сведений о соединении MySQL для PHP

Где наиболее безопасное место для размещения сведений о подключении к базе данных MySQL при подключении через скрипт PHP?

$connection = mysql_connect($hostname, $username, $password);
if (!$connection) {die('Could not connect: ' . mysql_error());}
mysql_select_db($database, $connection);

Я знаю, что не стоит помещать их прямо в скрипт, который запрашивает базу данных. Однако некоторые говорят, что вы должны поместить детали соединения в отдельный скрипт PHP и включить этот скрипт для соединения.

Есть ли более безопасное место для размещения информации о соединении?

3 ответа

Решение

Обычная практика - помещать их в отдельный файл и размещать вне корневого веб-каталога. Смотрите этот ответ для деталей.

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

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

Было бы полезно, если бы мы поняли вашу архитектуру, если это просто сценарий php, отправляемый в базу данных, тогда первое предложение будет лучшим, например, если у вас есть брандмауэры, у вас будет больше вариантов.

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

Другие вопросы по тегам