Защитить шаблон

Статус
В этой теме нельзя размещать новые ответы.

Raccoon

Участник
Регистрация
31 Июл 2007
Сообщения
176
Реакции
9
Добрый день!

Есть простенький шаблонизатор взятый из Joomla:

PHP:
public function make_html($file, $data) {

$template = $this->read_html($file);

foreach($data as $key=>$val) {
$template = str_replace('{'.$key.'}', $val, $template);
}

$template = preg_replace("/{lang:([^}]*)}/ie", "\\1", $template);

return $template;

}

Так, вот хотелось бы в каждом шаблоне разместить такую штуку:

PHP:
defined('EXEC') or die;

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

Что с ним можно сделать, чтобы в общий HTML поток он не выводился?

Спасибо.
 
PHP:
if (!defined('EXEC')) exit;
 
по хорошему это одна из самых простых видов зажиты которые долж быть применины

if (!defined('_SHELL'))
die();
использовать нужно везде, а вот объявлять только в 1 фаиле... у меня 2 таких переменных 1 админ, одна общая...
----
остальные просто константы)
 
Функцию read_html покажи, скорей всего у тебя там шаблон грузится из file_get_contents'а, в своем шаблонизаторе я решил эту проблему таким способом
PHP:
$tpl = "index.php";
ob_start();
include("dir/".$tpl);
$this->result = ob_get_contents();
ob_end_clean();
Все теги вставленные в шаблон вида {переменная} работают, но и php код тоже выполняется
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху