Скрыть информацию для входа в базу данных в PHP-коде - PullRequest
7 голосов
/ 11 мая 2011

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

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

Это явно не очень хорошая идея! Так что (намного) более "безопасный" способ сделать это? Я читал о том, как поместить код php в отдельный файл, то есть не в основной документ php на веб-сайте, а затем ограничить доступ к этому файлу. Может быть, с помощью файла .htaccess. Это путь?

Ответы [ 2 ]

7 голосов
/ 11 мая 2011

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

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

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

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

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

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

1 голос
/ 11 мая 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...