Fan*_*Lin 0 python templates web
我正在构建一个多用户网络应用程序。每个用户都可以在我的应用程序下拥有自己的网站。我正在考虑如何允许用户修改模板而不存在安全问题?我评估了一些 python 模板引擎。例如,genshi,它是一个非常出色的模板引擎,但是允许用户修改genshi模板可能是危险的。它的语法如下:
<?python
?>
Run Code Online (Sandbox Code Playgroud)
这个语法允许你运行任何你想要 python 能做的事情。我注意到它似乎可以通过传递一些参数来关闭。但仍然存在很多潜在的问题。例如,用户可以访问内置函数和传递变量的方法。例如,如果我将 ORM 对象传递给模板。它可能包含一些我不想让用户触摸它的方法和变量。可能会喜欢这样:
site.metadata.connection.execute("drop table xxx")
Run Code Online (Sandbox Code Playgroud)
所以我的问题是如何允许用户修改其网站的模板而不出现安全问题?任何Python模板引擎都可以使用。
谢谢。