Вобщем, напишу-ка я статейку небольшую по этому поводу. Вы тут вопросов позадаете, мы ее подредактируем, а потом я ее опубликую, потому как вопрос-то
очень насущный, как мне кажется.
Вопрос такой: Как защитить секретную информацию с которой работают PHP-скрипты? Итак:
Вариант 1. PHP в стандартном режиме, запускается как модуль Apache, т.е. под пользователем "nobody".
В каталоге, где расположен магазин или иные скрипты работающие с WMsigner, файлом ключей и прочими секретными данными создаете .htaccess и добавляете
в него следующие строки:
Код: |
Код: |
Код: |
Код: |
Код: |
Мда. Обнаружился глюк. Перемудрил я.
Вместо:
Deny from all
Allow from env=REDIRECT_STATUS
надо писать только
Allow from env=REDIRECT_STATUS
Исправлено.
Для себя запишу... Запомнить и не забывать:
Естественно с этими настройками, к скриптам нельзя обращаться через http://[ip]/~[username]/. Надо чтобыы домен работал.
Цитата: |
Обыкновенную. 12 месяцев
Файлы с правами 600 можно прочитать только воспользовавшись вашим логином/паролем или через какую-нить дыру в скриптах вашего сайта (если таковые
имеются).
Цитата: |
Боюсь, это вопрос риторический...
Искать, думать, анализировать...
У меня два вопроса:
1. Как запретить листинг каталогов в .htaccess (Options -Indexes вызывает ошибку 500, работает только IndexIgnore *, но это не совсем то, что хотелось
бы...)
2. Почему, когда на каталог выставлены права 644, при обращении к любому файлу в этом каталоге выдается Access Denied? Ведь если листинг запрещен, это
не значит, что запрещено читать содержимое? Или я неправильно понимаю?
1. На новых серверах директива "Options" запрещена из соображений безопасности. Запретить листинг можно многими способами. Поставить права
711, создать пустой index.htm или, например, создать какой-нить nolisting.htm в корне сайта и использовать директиву
DirectoryIndex /nolisting.htm
2. Листинг - это атрибут "r", а доступ к содержимому - "x", который как раз и отстутсвует при правах 644.
Все сделал, как сказано, но не получилось....
А что указывать в файле .htaccess при защите папки паролем в директиве AuthUserFile?
Какой будет полный путь, если мой файл лежит в папке /domains ?
Цитата: |
Цитата: |
"Только не забудьте закрыть прямой доступ к файлам через http (с помошью .htaccess)"
- как это сделать? Поясните, пожалуйста!
А если мне нужно запретить доступ к двум файлам?
то есть добавить добавить в .htaccess
<Files .htaccess>
order allow,deny
deny from all
</Files>
и
<Files .htpasswd>
order allow,deny
deny from all
</Files>
Как это правильно сделать?
Так правильно?
<Files .htaccess .htpasswd>
order allow,deny
deny from all
</Files>
Так и делайте - 2мя отдельными директивами Files
Или используйте FilesMatch
А вообще файлы начинающиеся с точки вроде и так недоступны для загрузки браузером.
Цитата: |
Код: |
Сейчас использую бесплатный первый месяц.
Можете на примере форума phpbb3 расписать все конкретно. Как изменятся права указанные в документации к phpbb3 http://www.phpbb.com/kb/article/phpbb3-chmod-permissions/ ? И
соответственно в какие каталоги следует класть файл htaccess?
P.S. Непонятно под каким именем пользователя входить на форум. Или где регистрироваться.
В документации, на которую ссылаетесь все это и достаточно конкретно написано. Если что-то непонятно, то спрашивайте на форуме phpbb и воспользуйтесь этим http://site-helper.ru/plugin.html#webscript
Т.е. я могу выполнить все согласно этой документации и не выполнять никаких действий, описанных в данном топике?
К примеру файл config.php в котором хранится пароль к БД согласно документации имеет разрешения 644. Т.е. его может читать кто-угодно? Не думаю что
это допустимо для пароля БД? Или я чего-то не понимаю?
На нашем сервере с Directadmin структура папок, прав и настройка php на них сделана таким образом, что можете 777 поставить - другие пользователи не
смогут прочитать данный файл.
не меняйте только права и группы на папки public_html и все выше лежащие.
А тогда какова область применения данной темы и совета никогда не ставить 777 ?
P.S. Интересный ход, спрятать ссылку регистрации в форму ответа
>совета никогда не ставить 777 ?
она общая для unix систем и если Вы держите сервер для себя и у php не включен safe mode или другие способы в ограждении доступа, то да, надо всё
соблюдать. И в любом случае 777 желательно никогда не ставить - через уязвимость могут залить всякую гадость в этот каталог. ставить только при полной
уверенности и нужности данного действия.
p.s. ни один спамер ещё не нашёл....
Спасибо, более или менее понятно