Где разместить и как получить доступ к информации db_connect для MySQL и PHP

Я работаю над проектом, в котором пользователи должны войти в базу данных MySQL. Я работаю над созданием системы аутентификации (таблица аутентификации / пользователя с их именами, электронная почта, хешированный пароль и т. Д., Сеанс php), это больше работы, чем я предполагал, но я пробираюсь через нее. Я немного запутался при первоначальном подключении к базе данных. Я прочитал, чтобы держать его вне корневого каталога документа для сайта, что я могу сделать, но не уверен, как ссылаться на него. Вот что я думал:

Корень документа для сайта:

/var/www/public/example.com/public/ {index.html, css, img и т. д.}

Могу ли я безопасно разместить информацию о db_connect здесь:

/var/www/public/example.com/private/ securephpfunctions.php

Тогда у меня будет одна строка во всех моих php-файлах:

<?php
// include in all files that need to do stuff
require_once('examplecom_fns.php'); 
?>

Внутри examplecom_fns.php находится:

<?php
// include in all files
require_once('/var/www/public/example.com/private/securephpfunctions.php');
require_once('forms_fns.php');
require_once('outputs_fns.php');
?>

После этого я предполагаю, что могу вызвать функцию соединения с БД, чтобы вставить информацию о новых пользователях в БД, использовать для не авторизованных пользователей, выполняющих поиск в общедоступных источниках, и т. Д. Это правильно / ОК? Есть ли лучший или более безопасный способ сделать то, что я пытаюсь? Я далеко от базы?

1 ответ

Решение

Вы можете сослаться на ваш корень документа следующим образом:

$_ENV['document_root'];

Затем, добавив относительный путь, вы можете получить свой личный путь:

realpath($_ENV['document_root'] . '../private');

Затем добавьте к этому имя вашего личного конфигурационного файла:

realpath($_ENV['document_root'] . '../private/securephpfunctions.php');
Другие вопросы по тегам