Страницы: 1 2 |
support
|
когда размещено 16.3.2003 в 23:05 |
|
|
Как защитить секретную информацию
Вобщем, напишу-ка я статейку небольшую по этому поводу. Вы тут вопросов позадаете, мы ее подредактируем, а потом я ее опубликую, потому как вопрос-то
очень насущный, как мне кажется.
Вопрос такой: Как защитить секретную информацию с которой работают PHP-скрипты? Итак:
Вариант 1. PHP в стандартном режиме, запускается как модуль Apache, т.е. под пользователем "nobody".
В каталоге, где расположен магазин или иные скрипты работающие с WMsigner, файлом ключей и прочими секретными данными создаете .htaccess и добавляете
в него следующие строки:Код: |
AddType application/x-httpd-pcgi phtml
Action application/x-httpd-pcgi /cgi-bin/php.cgi
| Пояснение: После "AddType application/x-httpd-pcgi" указываются расширения PHP-скриптов, которые
вы хотите запускать в режиме CGI.
В каталоге /cgi-bin вашего сайта создаете
php.cgi с правами 711. в нем пишите 1 строку:
Также, в каталоге /cgi-bin/ создаете .htaccess и пишите в нем:Код: |
<Files php.cgi>
Order Allow,Deny
Allow from env=REDIRECT_STATUS
</Files> |
После этого на файлы с секретными данными можно(и нужно) ставить права доступа 600, а на каталоги c секретными файлами - 700. Скрипты, чьи расширения
вы указали в .htaccess будут свободно их читать, а никакой другой пользователь прочесть их не сможет.
Вариант 2. PHP в режиме Safe Mode, запускается как модуль Apache, т.е. под пользователем "nobody".
Если PHP на сервере работает в режиме Safe Mode, способ описанный в варианте 1, вероятно, не будет работать.
В этом случае вам необходимо попросить системного администратора
установить на ваш домашни каталог (/home/[username])
chown [username]:nobody
и
сhmod 0710
Также, не забудте в каталогах с секретными файлами создать .htaccess и запретить доступ веб-сервера к этим файлам директивами:Код: |
...
<Files имя_секретного_файла>
Order Allow,Deny
Deny from all
</Files>
... |
или вообще
Правда данные изменения, к сожалению, ведут к замедлению работы скриптов и увеличению нагрузки на сервер.
И запомните - никаких файлов или папок с правами 777. Никогда и ни за что. (За исключением тех случаев когда вы знаете что делаете.)
|
|
support
|
когда размещено 5.4.2003 в 23:54 |
|
|
Мда. Обнаружился глюк. Перемудрил я.
Вместо:
Deny from all
Allow from env=REDIRECT_STATUS
надо писать только
Allow from env=REDIRECT_STATUS
Исправлено.
|
|
support
|
когда размещено 22.11.2003 в 02:33 |
|
|
Для себя запишу... Запомнить и не забывать:
Естественно с этими настройками, к скриптам нельзя обращаться через http://[ip]/~[username]/. Надо чтобыы домен работал.
|
|
Rafnot
Newbie
Сообщения: 2
Зарегистрирован: 13.12.2003
Пользователя нет на форуме
|
когда размещено 13.12.2003 в 02:38 |
|
|
Цитата: | сообщение support
Для себя запишу... Запомнить и не забывать:
Естественно с этими настройками, к скриптам нельзя обращаться через http://[ip]/~[username]/. Надо чтобы домен работал. |
А какую Вы даёте гарантию сохранности данных с правами доступа cmod 600?
|
|
support
|
когда размещено 13.12.2003 в 03:36 |
|
|
Обыкновенную. 12 месяцев
Файлы с правами 600 можно прочитать только воспользовавшись вашим логином/паролем или через какую-нить дыру в скриптах вашего сайта (если таковые
имеются).
|
|
Rafnot
Newbie
Сообщения: 2
Зарегистрирован: 13.12.2003
Пользователя нет на форуме
|
когда размещено 13.12.2003 в 13:19 |
|
|
Цитата: | сообщение support
Обыкновенную. 12 месяцев
Файлы с правами 600 можно прочитать только воспользовавшись вашим логином/паролем или через какую-нить дыру в скриптах вашего сайта (если таковые
имеются). |
А как узнать где есть дырки в скрипте? Не подскажите?
|
|
support
|
когда размещено 13.12.2003 в 23:11 |
|
|
Боюсь, это вопрос риторический...
Искать, думать, анализировать...
|
|
Анонимный
Не зарегистрирован
Сообщения: N/A
Зарегистрирован: N/A
Пользователя нет на форуме
|
когда размещено 23.4.2004 в 17:12 |
|
|
У меня два вопроса:
1. Как запретить листинг каталогов в .htaccess (Options -Indexes вызывает ошибку 500, работает только IndexIgnore *, но это не совсем то, что хотелось
бы...)
2. Почему, когда на каталог выставлены права 644, при обращении к любому файлу в этом каталоге выдается Access Denied? Ведь если листинг запрещен, это
не значит, что запрещено читать содержимое? Или я неправильно понимаю?
|
|
support
|
когда размещено 23.4.2004 в 17:39 |
|
|
1. На новых серверах директива "Options" запрещена из соображений безопасности. Запретить листинг можно многими способами. Поставить права
711, создать пустой index.htm или, например, создать какой-нить nolisting.htm в корне сайта и использовать директиву
DirectoryIndex /nolisting.htm
2. Листинг - это атрибут "r", а доступ к содержимому - "x", который как раз и отстутсвует при правах 644.
|
|
Анонимный
Не зарегистрирован
Сообщения: N/A
Зарегистрирован: N/A
Пользователя нет на форуме
|
когда размещено 20.6.2004 в 12:33 |
|
|
Все сделал, как сказано, но не получилось....
|
|
Анонимный
Не зарегистрирован
Сообщения: N/A
Зарегистрирован: N/A
Пользователя нет на форуме
|
когда размещено 8.2.2005 в 20:15 |
|
|
А что указывать в файле .htaccess при защите папки паролем в директиве AuthUserFile?
Какой будет полный путь, если мой файл лежит в папке /domains ?
|
|
support
|
когда размещено 8.2.2005 в 21:57 |
|
|
Цитата: | А что
указывать в файле .htaccess при защите папки паролем в директиве AuthUserFile? | имя файла с логинами и
паролями для авторизации очевидноЦитата: | Какой будет полный путь, если мой файл лежит в папке /domains ? | /home/<имя_пользователя>/domains/<имя_файла>
|
|
DeDemon
Junior Member
Сообщения: 16
Зарегистрирован: 26.2.2005
Пользователя нет на форуме
|
когда размещено 26.8.2005 в 21:37 |
|
|
"Только не забудьте закрыть прямой доступ к файлам через http (с помошью .htaccess)"
- как это сделать? Поясните, пожалуйста!
|
|
Анонимный
Не зарегистрирован
Сообщения: N/A
Зарегистрирован: N/A
Пользователя нет на форуме
|
когда размещено 3.12.2005 в 03:03 |
|
|
А если мне нужно запретить доступ к двум файлам?
то есть добавить добавить в .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>
|
|
support
|
когда размещено 3.12.2005 в 19:58 |
|
|
Так и делайте - 2мя отдельными директивами Files
Или используйте FilesMatch
А вообще файлы начинающиеся с точки вроде и так недоступны для загрузки браузером.
|
|
Страницы: 1 2 |