[ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ]



Ответов: 0
25-02-12 07:01







   Web - программирование
PHP


ASP






XML



CSS

SSI





   Программирование под ОС











   Web - технологии








   Базы Данных









   Графика






Данные




Web - программирование / .htaccess /

Защита include-модулей от несанкционированного доступа на сайте

Когда Вы пишите простенькую гостевую книгу, или счетчик, прибавляющий 1, к предыдущему значению, Вы, как правило, используете один-два файла не связанные друг с другом. Но однажды возникает необходимость разделять программу на несколько частей, причем одна часть вызывается другой. Пример:

Делается форум-сервер, вроде www.xpoint.ru. Если Вы заметили, там скрипту forum.cgi присваивается очень много действий: от просмотра сообщений, до отправки личных сообщений. В таких ситуациях используются различные скрипты, каждый из которых отвечает за свое действие. А главный скрипт, в зависимости от действия вызывает тот или иной модуль при помощи конструкции include (или recure).

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

Каталог выше корня сайта
Самый простой способ - просто положить скрипты выше каталога www. Т.е. допустим, у Вас выделено место в каталоге /home/youhost.host/htdocs/. Каталог htdocs здесь является корнем сайта (не путать с корнем сервера). Тогда положите ваши скрипты в каталог /home/yourhost.host/ . И все! Из браузера Ваши скрипты будет не возможно увидеть.

Использование константы
Опять же несложный способ - использование функции define(). Просто напишите в главном файле (который вызывает модули) такую строчку (например):

define("index", "yes");
А в первой строке (по крайней мере до того как начнется чего-то важное) напишите следующую строку:

if(!defined("index")) die("Вы не имеете права на работу с этим файлом");
Все! Теперь при любой попытке запустить такой файл напрямую будет выводиться надпись "Вы не имеете права на работу с этим файлом", а сам скрипт выполняться не будет.

Как это работает? Функция define создает константу index. Далее выражение if при помощи другой функции defined проверяет наличие предопределенной константы, и в случае если константа неопределенна, выводит сообщение об ошибке и прерывает выполнение скрипта.

Использование .htaccess
Здесь есть очень много различных способов защиты всех внешних запусков. Суть у них одна. Создайте в папке с такими файлами-модулями файл .htaccess и пропишите:

<files ~ "*.*">
order allow,deny
deny from all
</files>

Все. Ни кто с наружи эти файлы запустить не сможет.

Можете написать примерно такую строчку:

<files ~ "^\_">
order allow,deny
deny from all
</files>

И называть все файлы-модули начиная с _ (_emter.php; _admin.php и т.п.).

Вообще с .htaccess можно сделать очень многое, и здесь я рекомендую обратиться к литературе по apache.
 


Автор: Дмитрий Попов Источник: http://www.ucoz.ru/



Комментарии

 Ваш комментарий к данному материалу будет интересен нам и нашим читателям!



Последние статьи: Web - программирование / .htaccess /

Защита include-модулей от несанкционированного доступа на сайте
14-11-2009   

Когда Вы пишите простенькую гостевую книгу, или счетчик, прибавляющий 1, к предыдущему значению, Вы, как правило, используете один-два файла не связанные друг с другом. Но однажды возникает необходимость разделять программу на несколько частей, причем одна часть вызывается другой... подробнее

Кол. просмотров: общее - 3189 сегодня - 0

Псевдостатика (mod_rewrite). Часть 2
14-11-2009   

В предыдущей части статьи мы рассмотрели основные принципы работы mod_rewrite. В этой статье будут рассмотрены общие случаи использования mod_rewrite и его возможностей... подробнее

Кол. просмотров: общее - 3069 сегодня - 0

Псевдостатика (mod_rewrite). Часть 1
14-11-2009   

Эта статья была написана мной во время разработки нового движка для сайта. Как и все пользователи интернета, я с некоторого времени (примерно год назад) стал замечать, что все больше и больше популярных сайтов переходят от url вида http://site.net?pid=general&id=5&s=98465 на псевдостатику или на ЧПУ (Человеку Понятный УРЛ)... подробнее

Кол. просмотров: общее - 2974 сегодня - 0

Файл .htaccess на службе у seo-оптимизатора
14-11-2009   

Во многих информационных материалах, которые мне когда-либо приходилось читать об этом служебном файле веб-сервера Apache, говорилось, в основном, о том, как правильно сконфигурировать сервер для качественной работы сайта... подробнее

Кол. просмотров: общее - 3431 сегодня - 0

Красивый URL
05-04-2009   

Многие начинающие веб-мастера встречаются с проблемой обработки длинных адресов в строке браузера. Например, у вас есть динамическая страница, которая обрабатывает запросы на скачивание файлов... подробнее

Кол. просмотров: общее - 3679 сегодня - 0



  WWW.COMPROG.RU - 2009-2012 | Designed and Powered by Zaipov Renat | Projects