Используя класс Kohana View, я хочу, чтобы пользователи-администраторы могли редактировать HTML-шаблоны, и самый простой способ сделать это - позволить им редактировать файл шаблона напрямую, то есть загружать его в текстовое поле и сохранять файл в submit.Как создать редактируемый шаблон PHP/HTML без риска для безопасности?
Но вредоносный пользователь может потенциально написать PHP-код внутри этого текстового поля и вызвать статические функции, которые могут вызвать вредоносное поведение. Как я могу ограничить PHP только оценивать простые переменные в этом редактируемом шаблоне и запрещать вызовы функций и другие типы логики?
Пример: вид/template.php
Hey $firstname,
Best regards,
$admin
Мне нравится ваш ответ, но это означает, что я не могу использовать мою внутреннюю структуру: http://kohanaframework.org/3.0/guide/kohana/mvc/views#views для этой конкретной функции – allenylzhou
Это не совсем так. Вы все равно можете использовать представления, это просто закончится как переменная, которую вы передадите родительскому шаблону. В любом случае вы будете иметь все переменные рядом с этим в контроллере. Другим вариантом может быть анализ (а не включение) Kohana :: find_file из родительского шаблона, но я не думаю, что это подходящее место – rjdown