используя htaccess, чтобы скрыть пароли базы данных - PullRequest
1 голос
/ 08 февраля 2011

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

позволяет запретить
запретить из всех

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

index.php (открытый файл, который вызывает классы php, которые обращаются к базе данных) php_classes / DatabaseConnect.php (содержит пароль к базе данных. Я хочу скрыть этоиз всего, что не загружено на mysite - или, что еще лучше, только в определенные файлы, которые я назову) ...

спасибо, ручеек

Ответы [ 3 ]

0 голосов
/ 08 февраля 2011

Если вы беспокоитесь о том, что другие увидят данные для входа в вашу базу данных, будьте уверены, что они не будут видны при вставке между тегами PHP.

.htaccess немного сложен для некоторых серверов.Кажется, многие настройки ненавидят перерасход, который я могу понять.

Поскольку вы предположили, что не можете получить доступ к папкам вне корневого каталога, вы можете просто захотеть сделать что-то вроде этого.

define("include_allowed", true);

Вызовите это в ведущем файле, например index.php.Когда файл включен, он должен проверить, установлено ли для include_allowed значение true.

if (include_allowed != true) header('HTTP/1.1 404 Not Found'); 

Этот параметр проверяет, был ли он включен в index.php или в какой-либо файл, который определил include_allowed true.

Если он не возвращает true, отправляется ошибка 404, в которой говорится, что он не найден, чтобы обмануть пользователей!:)

0 голосов
/ 08 февраля 2011

Поскольку ваш файл PHP, он будет обработан исполняемым файлом PHP, прежде чем он будет передан клиенту. Поэтому пароль не должен быть виден. Сказав это, чтобы использовать htaccess, чтобы остановить просмотр определенного файла, вы можете сделать это

<Files php_classes/DatabaseConnect.php>
    Deny From All
</Files>
0 голосов
/ 08 февраля 2011

Не размещайте свой PHP-код в webroot.Обычно фреймворки используют эту технику, когда они помещают в веб-корень только файл bootstrap ... вы можете сделать то же самое и поместить PHP-файл с чувствительной информацией над корневым веб-сайтом, чтобы его нельзя было просмотреть.Ваш bootstrap файл будет #require_once '../safe_dir_above_webroot'.

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