Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Template-php обезопасить


Автор: Wowa 22.1.2011, 01:17
Применяю в проекте темплейты на пхп(они через eval выполняются). Есть потребность дать доступ к редактированию темплейтов сторонним юзерам. Как быть с безопастностью? Ведь раз темплейты на пхп основаны, то юзеры могут какие-нить гадости внутри понаписывать? Очень не хотелось бы переходить на какой-то шаблонный язык.

Автор: Wowa 22.1.2011, 02:27
Что, если применить eval(): Function Black- and Whitelist от Suhosin? Т.е. попросту внести в белый список несколько разрешенных функций и всё? Остальные будут автоматом тогда запрещены.

http://www.hardened-php.net/suhosin/a_feature_list:eval_black_and_whitelist.html

Автор: gcc 22.1.2011, 08:41
в качестве вариантов:
1) премодерация сделать...
2) шаблонизатор+javascript (шаблонизатор: все что идет с базы, и некоторая логика, а javascript DOM на странице)

Автор: Elfet 14.4.2011, 22:32
А Twig не подходит? Очень быстрый и есть песочница. 

Автор: ksnk 14.4.2011, 23:13
Цитата(Wowa @  22.1.2011,  01:17 Найти цитируемый пост)
Очень не хотелось бы переходить на какой-то шаблонный язык.

А почему? Нужно выбрать шаблонный движек, который умеет транслироваться в php код(сохраняется скорость), но исключает явные вставки PHP ( появляется контроль за свободой пользователя ). Twig - вроде то, что нужно, но есть еще много такого рода шаблонизаторов.

Автор: Muerto 14.4.2011, 23:15
Haanga делает тоже самое что twig но жрет памяти и работает быстрей в раз 5 как минимум  smile 
+ шаблоны компилированные качественней выходят имхо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)