Безопасно ли запрещать доступ к файлу .ini в .htaccess?

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

  •  03-07-2019
  •  | 
  •  

Вопрос

У меня есть ini-файл с конфиденциальной информацией в моем приложении php wab.Я отказал в доступе к нему, используя файл .htaccess:

<files my.ini>
  order deny,allow
  deny from all
</files>

У меня нет доступа к папкам за пределами htdocs, поэтому я не могу переместить файл .ini за пределы доступной для просмотра территории.

Безопасно ли мое решение?

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

Решение

.htaccess заблокирует доступ из Интернета. Однако, если вы используете среду общего хостинга, другие пользователи могут получить доступ к вашему ini. Если он находится на (виртуальном частном) сервере и вы единственный пользователь этого сервера, вы в безопасности.

В случае виртуального хостинга это зависит от конфигурации сервера. Для получения дополнительной информации читайте: PHP Security в среде общего хостинга

Вы можете временно установить PHPShell и просмотреть файловую систему сервера, чтобы проверить, уязвим ли ваш сервер. (требуется знание командной строки)

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

Другим хорошим решением и моим личным фаворитом (особенно при разработке кода, который может не оставаться под моим строгим контролем .htaccess) является защита фактического файла .ini.Благодаря доброй душе здесь - примечания пользователя:pd при замороженных битах точка de, то , что я делаю , это:

my.ini -> changes to my.ini.php

my.ini.php начинается с:

;<?php
;die(); // For further security
;/*
    [category]
    name="value"

;*/

Работает отлично!Получите прямой доступ к файлу, и все, что вы увидите, это ';' и это действительный, поддающийся анализу ini-файл.Что тут может не понравиться :)

Несколько замечаний по фактической реализации (прошу прощения, если это считается "чрезмерным использованием", но, возможно, сэкономит кому-то немного времени):

  1. Этот файл сильно расстраивает мою IDE, и она продолжает пытаться автоматически переформатировать, что затем расстраивает PHP.Благословляю Notepad ++.
  2. Не забудь о закрытии ;*/.Он по-прежнему работает, если вы его не используете, но PHP предупреждает вас, что он вот-вот выйдет из строя.

Разобрался.

Файл не будет виден из Apache. Очевидно, что лучшим вариантом является размещение его вне корня вашего сайта. Если вы не можете этого сделать, файлы .htaccess (или аналогичные директивы в ваших конфигурациях apache) в значительной степени являются вашим единственным вариантом.

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