Как мне остановить мой сервер apache2 от обслуживания missile_launch_codes.ini? - PullRequest
0 голосов
/ 13 января 2011

Я знаю, что одним из решений является размещение INI-файла вне webroot, но я хочу, чтобы файл конфигурации был частью дерева исходных текстов моего веб-приложения.

Поскольку я хочу добавить в нее пароли базы данных, мне нужно убедиться, что они недоступны, набрав www.drstrangelove.com/missile_codes.ini

Я хочу верить, что для этого есть настройка конфигурации Apache, но я не знаю, что это такое или что набрать в google, чтобы узнать.

Ответы [ 3 ]

3 голосов
/ 13 января 2011

Для этого вы можете использовать .htaccess:

<Files "*.ini">
order deny,allow
deny from all
</Files>

Или (если вам нужен только один файл .ini): замените * именем файла.

2 голосов
/ 13 января 2011

Хотя ответ Тобиаск дает вам то, что вам нужно, я думаю, что лучшим решением было бы сохранить файл .ini вне вашей директории htdocs (или www), чтобы он не мог быть доставлен в первую очередь apache.*

1 голос
/ 13 января 2011

Если вы не можете использовать файл .htaccess, вы всегда можете обмануть: переименуйте ваш INI-файл во что-то вроде config.ini.php;

Поместите это в самую первую строку:

#<?php exit; ?>
user=username
pass=secret

Таким образом, если вы попытаетесь вызвать ini-файл через веб-сервер, PHP-код будет выполнен, в противном случае функция parse_ini_file пропустит первую строку, поскольку она закомментирована ("#")

Надеюсь, что эта помощь

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