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

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


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

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


В коде имя константы и ее значение приведены в том виде, как написано в файлах Joomla. Имя константы и ее значение могут быть любыми, так что желательно придумать свое. Помните только, что имена констант пишутся в верхнем регистре.
Автор: * -=(C)DRU987=- (Dev) / 08.03.2016 в 13:07
Просмотров: 956
ТОП блогов | поиск | все блоги
Онлайн: 3
Реклама