为了安全地允许任意 html/javascript,每个用户必须有自己的子域。如果每个用户都有自己的子域,那么由于同源策略,用户的 JavaScript 将被限制在他们自己的沙箱中。如果您只想允许“安全 html”,那么htmlpurifer是一个选项,然后您可以使用 1 个域。
允许自定义 PHP 有点危险。“共享主机”提供商依赖suPHP,它强制 php 脚本以特定用户身份运行。这将要求每个用户在您的系统上拥有自己的帐户。这种防御方法已经存在一段时间了。它并不完美,但可以解决问题。
自定义主题的另一种可能解决方案是使用模板引擎,它可以防止模板获得对 PHP 的完全访问权限。一些流行的框架: