Конфиденциальная информация в корне документа - PullRequest
2 голосов
/ 01 февраля 2010

Допустим, у вас есть config.php, который содержит конфиденциальную информацию, такую ​​как пароль пользователя БД. Не рекомендуется хранить этот файл в корне документа, верно?

Почему это так, и безопаснее ли хранить конфиденциальную информацию в index.php корня документа?

Ответы [ 3 ]

5 голосов
/ 01 февраля 2010

Для меня первый сценарий, который приходит мне на ум, - это неправильная конфигурация, которая позволяет пользователям загружать или просматривать файлы .php, а не анализировать их и представлять их как text / html.Допустим, вы выполняете обновление, что-то идет не так, и Apache больше не анализирует ваши скрипты.Кто-то замечает, что Apache отправляет ваши PHP-файлы в виде простого текста и может открыть config.php и просмотреть исходный код (и все важные параметры конфигурации базы данных внутри).

4 голосов
/ 01 февраля 2010

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

eg:

webroot/index.php
webroot/images/img1.jpg
webroot/images/img2.jpg
webroot/css/base.css

lib/myclass1.php
lib/myclass2.php

И ваш index.php будет выглядеть примерно так:

<?php
$CODEBASE = '/usr/home/wwwuser/wherever/it/is';

include $CODEBASE."/lib/myclass1.php";

$code = new MyClass1();
$code->doStuff();

?>
3 голосов
/ 01 февраля 2010

Не безопаснее хранить данные конфигурации в index.php, чем config.php; они оба одинаково склонны к отображению, если PHP каким-то образом не может проанализировать их содержимое. Преимущество использования отдельного файла для данных конфигурации заключается в том, что вы можете ограничить доступ к нему, фактически запретив кому-либо читать его по протоколу HTTP и обеспечить безопасность ваших данных (r), даже если PHP его не анализирует.

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