Скрыть информацию о входе в базу данных в PHP Code

im полный новичок в веб-программировании. Я пытаюсь создать простой веб-сайт, который считывает данные из базы данных SQL. Сначала я просто написал свой пароль для базы данных и заходил напрямую в php-код:

<?php $username = "login"; $password = "pw"; mysql_connect("server", $username, $password); ... ?> 

Это, очевидно, не очень хорошая идея! Итак, что такое (гораздо более «безопасный» способ сделать это? Я читал о том, что PHP-код в отдельный файл, а не в основной php-документ веб-сайта, а затем ограничивает доступ к этому файлу. Возможно, файл .htaccess. Это путь?

Файл config.php и .htaccess – это классический / хороший способ . Это обычно делается с помощью CMS или фреймворков.

Как указано в JohnP , вы также можете сохранить config.php за пределами общедоступного каталога , а это значит, что к нему нельзя получить доступ через HTTP. Это немного лучше для безопасности (если вы не ошибаетесь в своем .htaccess, больше нет рисков).

Пример структуры файла:

  • config/ -> файлы конфигурации
  • lib/ -> библиотеки и utils PHP-файлы
  • public/ -> все ваши общедоступные страницы / файлы / изображения …

Таким образом, http://www.your-site.com/ указывает на public/ , поэтому нет способа получить доступ к конфигу. Но это решение подразумевает, что вы можете изменить корневой веб-каталог (или он уже такой).

Наконец, вы должны помнить, что этот файл доступен для чтения и записи только для пользователя Apache , а не для всех (права доступа к файлам Unix), так что, если кто-то получит доступ к вашему серверу через другого пользователя, он не сможет прочитать файл.

Обычно вы помещаете это в файл конфигурации и получаете доступ к значениям конфигурации через PHP.

Обычно проект организован таким образом, что ваш код приложения и код конфигурации находятся за пределами вашего веб-ресурса, и только ваши общедоступные ресурсы (index.php, images, scripts или другие ресурсы) доступны через прямой доступ.