允许用户自定义网页

时间:2015-06-06 15:24:18

标签: html css django security

我正在开展一个项目,提供一个平台,允许我的用户编写博客并自定义页面外观,但他们只想使用htmlcss。我将使用python/django。我只关心如何继续前进。我是否应该关注任何安全问题?如果你可以指导我如何继续,我将非常感激。

1 个答案:

答案 0 :(得分:1)

首先,请检查this question。您将需要删除可能会产生危险行为的标记(和属性)(如脚本标记或onload属性)。 给他们字段添加他们的CSS和HTML(为此添加一个漂亮的所见即所得的编辑器,如ckeditortinymce等。

在css中,剥离html和删除网址应该足够了(如果这部分还有其他内容,请告诉我。)。将css放在头部的标签内。

对于html,您应该在必填内容(如果有全局导航栏等)之后使用安全过滤器{{content | safe}}添加内容。 再次,尽快杀死危险的标签...脚本,iframe等。

通过这样的方式,用户可以控制其内容的布局和网站该部分的样式。这假设您希望所有用户都具有相同的结构(即右侧边栏显示3个最新条目)。

如果你想给他们一些更多的自定义,最简单的方法(对于开发人员和用户)只是向他们展示一个选项列表(即。侧栏可以显示最新的条目,它显示/隐藏博客信息,它确实有社交分享选项,博客条目已启用评论等)。