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 или другие ресурсы) доступны через прямой доступ.