Добавить в избранное

Как защитить файлы инклюда от прямого вызова?

Дата: 2011-11-27

Как защитить файлы инклюда от прямого вызова

Сегодняшний урок я скорее всего назвал бы не уроком, а ответом на вопрос, заданном на сайте evgeniypopov.com.

Исходников нет, т.к. реализация очень простая:

Итак, как это делается. Далеко ходить не будем. Рассмотрим как реализовано в CMS Joomla. В файле index.php корневой директории в самом начале есть такая строчка:

define( '_JEXEC', 1 );

А в файлах подключаемых компонетов, модулей и т.д. (тоже в самом начале) такая:

defined('_JEXEC') or die('Restricted access');

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

По аналогии также делаем и у себя. Вот код демо-страницы:
файл index.php


Напишите как защитить файлы инклюда от прямого вызова!




Ответ:

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

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

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

Вот и все. по остальным вопросам ответы тоже будут, но позже. Всему свое время :)

Данный урок подготовлен для Вас сайтом  tiwebmaster.ru
Источник урока: www.ruseller.com 

Просмотров: 1956

Последние 5 уроков

Отправка письма при помощи функций php

В данном уроке вы узнаете как отправлять письма по средствам функций пхп. а также управлять данными посылаемые в email письмо


Загрузка больших файлов на сервер используя PHP

Здравствуйте. Сегодня мы поговорим с Вами о том, как можно увеличить размер загружаемого файла в PHP. С такой проблемой сталкиваются многие, однако они и не догадываются, как же все-таки ее правильно решить...


Как защитить файлы инклюда от прямого вызова?

Сегодняшний урок я скорее всего назвал бы не уроком, а ответом на вопрос, заданном на сайте evgeniypopov.com.


PHP шпаргалка

PHP шпаргалка сделана таким образом, что ее можно распечатать на лист формата А4. Ниже представлено описание каждого листка.


Знай, когда Google индексирует твой сайт

Хотели бы Вы знать, когда Google бот заходит на Ваш сайт? Предлагаю Вам простой скрипт на PHP, который будет отправлять Вам email каждый раз при заходе бота на сайт.


Видео уроки по php,jquery,ajax,css,html,сео