Как отключить PHP-движок в шаблонах - PullRequest
0 голосов
/ 19 октября 2011

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

Как это сделать?

С уважением!

РЕДАКТИРОВАТЬ:

  • Я добавил .htaccess файл вкаталог views:
AddType text/plain .php
  • Я расширил CI_Loader, заменив начало php (добавили косую черту перед php) в функции _ci_load ().

Теперь phpне работает во взглядах.

Ответы [ 2 ]

0 голосов
/ 19 октября 2011

Я не понимаю вашу проблему.

Ваш парсер распознает PHP в шаблонах? если так - как отключение поможет? Если нет - что вообще делает PHP с вашими шаблонами? У них есть расширение .php?

0 голосов
/ 19 октября 2011

(при условии, что вы используете Apache)

Вы можете сохранить файлы с расширениями .tpl и добавить что-то вроде ...

AddType text/plain .tpl

..в ваш файл Apache httpd.conf (или, возможно, .htaccess).

Это не будет , конечно, не помешает людям добавлять код PHP в шаблон, если они захотят, но это должноозначает, что этот код не будет интерпретироваться, если файлы просматриваются на веб-сервере;однако это оставляет любой необработанный код PHP, введенный в эти файлы, доступным в виде простого текста любому, кто находит URI (www.yoursite.ext / templates / a_template.tpl) - что может быть очень плохо, если по какой-то непонятной причине у него что-то вродеdefine('DB_PASSWORD', "DBP@55w0rd"); там (ОК, это было бы очень неправильно, но вы понимаете, в чем дело).

Лучшим решением было бы хранение файлов tpl вне сети-дерево или внутри папки, защищенной с помощью .htaccess Deny from all - ваши сценарии PHP по-прежнему смогут извлекать их в , но они не будут доступны напрямую кому-либо через http, поэтому любой PHP внутриваши представления никогда не будут интерпретироваться, поскольку они никогда не будут доступны.

В качестве альтернативы, если вы гибки в своем движке представления, взгляните на PHPTAL: http://phptal.org/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...