Защита файлов инклуда от прямого вызова


В index.php в корневой директории создается константа командой define c именем "_JEXEC" и значением "1". В файлах подключаемых компонетов при помощи функции defined("_JEXEC") мы проверям существование константы "_JEXEC". Если константа не найдена результат работы функции будет false, в этом случае пишем сообщение «Доступ запрещен» и останавливаем скрипт с помощью функции die (пcевдоним функции exit()).

файл index.php

<?php define( '_JEXEC', 1 );?>
<h2>Зашита файлов инклюда от прямого вызова</h2>
<br />
<h4 style="color:#090">Ответ:<?php include("inc/response.php"); ?></h4>

Инклюд-файл inc/response.php

<?php 
	defined('_JEXEC') or die('Доступ запрещен');
	echo 'очень просто. Этот ответ находится в "инклюдированном" файле, попробуйте обратиться к нему напрямую, дописав в строке 
	браузера /inc/response.php'
?>

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

ПОЛЕЗНО  Удаление файлов в папке старше N дней

найдено тут: http://blogcoder.org/zashita-fajlov-inklyuda-ot-pryamogo-vyzova/