2010-03-30 5 views
1

У нас есть веб-приложение (можно сказать, что это CMS), где мы позволяем пользователям редактировать свои собственные шаблоныМожно ли ограничить доступные теги/функции в шаблонах Smarty?

Мы, например:

article.template 
page.template 

Теперь мы хотим, чтобы ограничить то, что пользователи могут или не могут делать в их шаблонах. Конечно, использование PHP будет запрещено (и Smarty позволяет нам запретить PHP). Но можно ли определить, какие функции или циклы Smarty они могут или не могут использовать?

Я не могу найти это в документации Smarty. Нам нужна простая в использовании система шаблонов, которая может это сделать.

+0

Я бы приравнял это к управлению автомобилем без рулевого колеса. Как вы собираетесь отслеживать людей, если у вас нет системы отслеживания? Также почему php запрещено? как еще вы собираетесь заставить smarty работать? – mcgrailm

+0

PHP запрещен, потому что мы не хотим, чтобы люди запускали команды или получали системную информацию от нас. Мы только поставляем данные в представления, где пользователи могут отображать их так, как им нравится. Мы используем Zend Framework для всего остального – Jorre

ответ

0

Если вы используете Smarty версии 3: да, это возможно. Выезд Smarty_Security класс.

Обратите внимание, что вам также необходимо ограничить HTML, который они могут создать (если их HTML будет просмотрен кем-либо еще). Я бы порекомендовал для этого HTMLPurifier.

Смежные вопросы