Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Защита файлов и папок

254
20 декабря 2009 года
Cker
341 / / 20.08.2000
В моем проекте есть служебные скрипты в папке include и модули в папке modules. Все это инклудится галвным скриптом. Как защитить папке include и modules, чтобы их нельзя было прочитать просто набрав в броузере имя папки? Т.е. чтобы только основной скрипт имел доступ к этим папкам?
13
20 декабря 2009 года
RussianSpy
3.0K / / 04.07.2006
Давать этим скриптам расширение .php
399
20 декабря 2009 года
KIV
432 / / 20.01.2009
Это ещё не всё. Ведь скрипты выполнятся при открытии в браузере и это может привести к нежелательным последствиям. Поэтому можно написать в главном файле:
 
Код:
<?php
    define("__run__", true);
    ... Все остальные действия ...
?>

А во вспомогательных файлах:
 
Код:
<?php
    defined("__run__") or die();
    ... Текст включаемого файла ...
?>

Тогда главный файл будет устанавливать значение константы (константу нельзя передать через GET или POST запрос), а остальные файлы будут исполнятся только если их включили в основной файл иначе пользователь увидит пустую страницу. Так сделано во многих (если не во всех) крупных CMS (например, Joomla).

Альтернативный вариант: запретить доступ к этим папкам через htaccess. На PHP это не повлияет, а в браузере открыть уже не получится.
420
20 декабря 2009 года
Fobos
197 / / 10.03.2006
Цитата: Cker
В моем проекте есть служебные скрипты в папке include и модули в папке modules. Все это инклудится галвным скриптом. Как защитить папке include и modules, чтобы их нельзя было прочитать просто набрав в броузере имя папки? Т.е. чтобы только основной скрипт имел доступ к этим папкам?



Можно использовать файл .htaccess для защиты файлов.
Пример содержания:

 
Код:
<Files "config.php">
Order Allow,Deny
Deny from All
</Files>

<Files "functions.php">
Order Allow,Deny
Deny from All
</Files>

Помещать такой файл в папку с файлами, которые нужно защитить.
В общем, в этом роде.
Если кто-нибудь в браузере наберёт адрес данного файла, браузер выдаст ошибку доступа.

Также, необходимо поместить в папку простой пустой файл index.html, чтобы, при наборе в адресе папки, никто не мог прочитать названия файлов в папке, а видели просто пустую страницу в браузере.
13
20 декабря 2009 года
RussianSpy
3.0K / / 04.07.2006
Цитата: KIV
Это ещё не всё. Ведь скрипты выполнятся при открытии в браузере и это может привести к нежелательным последствиям.



Ну если модули и библиотеки выполняются тупо при запросе из браузера, то такому программисту надо выдать 50 плетей по заднице за кривой говнокод.

Эти файлы должны содержать классы и функции, но никак не свободно выполняемый код.

Следовательно лучше всего эту порнография закрыть через .htaccess как и написал Fobos

7
20 декабря 2009 года
@pixo $oft
3.4K / / 20.09.2006
Цитата: Fobos
Также, необходимо поместить в папку простой пустой файл index.html, чтобы, при наборе в адресе папки, никто не мог прочитать названия файлов в папке, а видели просто пустую страницу в браузере

А вот это,насколько я знаю,необязательно.Можно это через .htaccess сделать,перенаправив,допустим,на свою страницу "Доступ запрещён" или в этом роде

420
20 декабря 2009 года
Fobos
197 / / 10.03.2006
Цитата: @pixo $oft
А вот это,насколько я знаю,необязательно.Можно это через .htaccess сделать,перенаправив,допустим,на свою страницу "Доступ запрещён" или в этом роде



Не спорю. Кому как нравиться. Что 1 строчку в файл написать, что пустой файл создать. Просто я хотел подчеркнуть необходимость скрытия от посторонних глаз имён файлов в папке. ;)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог