Расположение .ini для веб-приложений - PullRequest
1 голос
/ 12 мая 2011

У меня есть приложение php, и я планирую сохранить критические настройки в файле .ini.Тем не менее, я думаю, что к файлу можно получить доступ через Интернет, так где же находится «стандартное место» для его размещения?

Ответы [ 7 ]

3 голосов
/ 12 мая 2011

Вы можете сохранить его над корневым документом / веб-сайтом или заблокировать доступ к нему.Например, общая структура приложений PHP выглядит следующим образом:

application/
public/

Где public - веб-корень - поэтому я обычно храню конфигурацию приложения в application/config, где я знаю, что к ней нет доступа.

Альтернативой может быть блокировка с использованием Apache:

<!-- Block access to all .ini files -->
<Files ~ "\.ini">
    Order deny,allow
    Deny from all
</Files>
1 голос
/ 12 мая 2011

Доступ к нему можно получить, если вы поместите свой INI-файл в ваш webroot / docroot.

Первый шаг - убедиться, что файл недоступен через docroot.

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

Поместите файл .ini вне корневого веб-каталога или защитите его с помощью .htaccess, если вы действительно хотите сохранить его в корневом веб-каталоге.

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

«Стандартное место» нигде не затронуто корневым каталогом apache. Например, вы можете поместить его под /home/someuser/ или где-то еще.

0 голосов
/ 12 мая 2011

хороший пример - Zend FW или любые другие фреймворки php. Структура каталога:

application/config/config.ini
library/Zend/
public/index.php

где общедоступный доступ из Интернета

0 голосов
/ 12 мая 2011

Поместите конфигурацию в каталог, который не читается веб-сервером, но доступен для чтения для приложения. Как правило, у вас есть определенный каталог, который может быть прочитан веб-сервером, например, «web», «www», «public» или «public_html». Убедитесь, что вы поместили его в каталог ниже этого.

Таким образом, ваше приложение может прочитать файл:

$cfg = parse_ini_file( 
    realpath( dirname( __FILE__ ) . '/../' ) . '/config.php' 
);

Ваш веб-сервер не знает, как его достичь, поэтому он защищен.

0 голосов
/ 12 мая 2011

Я бы использовал базу данных, если честно.

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

Для этого создайте файл с именем .htaccess в папке, которую вы хотите защитить (например, ini /)

Затем в этот файл положить:

deny from all

Папка теперь недоступна, перейдя по ссылке в браузере.

...