Могу ли я использовать .ini для файла конфигурации в PHP?

StackOverflow https://stackoverflow.com/questions/1299269

  •  18-09-2019
  •  | 
  •  

Вопрос

Мой друг попросил меня обновить приложение PHP, которое использует его компания. Я обнаружил, что приложение использует расширение .ini для файла конфигурации БД. Файл содержит адрес хоста DB, имя пользователя и пароль !! Проблема в том, что я могу получить доступ к файлу на веб-браузерах.

Я пытаюсь понять, почему. Есть ли какие -либо конкретные причины использовать обычный файл PHP с расширением .ini ??? Я просто не понимаю.

Это было полезно?

Решение

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

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

Таким образом, PHP выведет «прямой доступ», запрещенный », когда файл будет доступен через браузер, а файл INI будет продолжать функционировать, как и раньше.

Другие советы

Вы можете использовать Zend_config_ini. Анкет Это удобно и легко. Просто не размещайте файлы конфигурации, где любой пользователь может достичь его (например, public_html).

Файлы INI-это лишь один из способов борьбы с конфигурацией, возможно, разработчик поступил на фоне разработчиков Windows и использовал все, с чем он был знаком :). Кроме того, PHP предлагает удобный способ анализа файлов INI через parse_ini_file функция

Вы захотите убедиться, что файл .ini не доступен из Интернета. Переместите его ниже докровута, чтобы ваш скрипт PHP все еще мог получить к нему доступ, но случайные браузеры не могут.

Для того, что это стоит, PHP традиционно использовал php.ini Для настройки PHP. Так что, может быть, это какая -то наследие?

Похоже, это просто желание бывшего программиста использовать другой тип файла для конфигурации. Если для этого файла нет другого использования, переименовать его в *.php и забудьте об этом. Если нет, настройте WebServer, чтобы проанализировать INI как PHP или, лучше, перенесите его в каталог, не доступный от веб-сервера.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top