【发布时间】:2015-08-21 11:10:19
【问题描述】:
我正在一个项目中提供一个平台,该平台将允许我的用户编写博客并自定义页面外观,但他们只需要使用html 和css。我将使用python/django。我只是关心如何继续前进。是否有任何我应该关注的安全问题?如果您能指导我如何进行,我将不胜感激。
【问题讨论】:
我正在一个项目中提供一个平台,该平台将允许我的用户编写博客并自定义页面外观,但他们只需要使用html 和css。我将使用python/django。我只是关心如何继续前进。是否有任何我应该关注的安全问题?如果您能指导我如何进行,我将不胜感激。
【问题讨论】:
对于初学者,请查看this question。您将需要删除可能产生危险行为的标签(和属性)(如脚本标签或 onload 属性)。 给他们字段以添加他们的 css 和 html(为此添加一个漂亮的所见即所得编辑器,如 ckeditor、tinymce 等。
在 css 中,剥离 html 和删除 url 就足够了(如果这部分还有其他内容,请告诉我。)。将 css 放在头部的标签内。
对于 html,您应该在强制性内容之后使用安全过滤器 {{content|safe}} 添加内容(如果有全局导航栏等)。 同样,尽快杀死危险标签...脚本、iframe 等。
有了这样的东西,用户应该可以控制其内容的布局和网站该部分的样式。这是假设您希望所有用户具有相同的结构(即右侧的侧边栏显示 3 个最新条目)。
如果你想给他们更多的自定义,最简单的方法(对开发者和用户来说)就是向他们显示一个选项列表(即侧边栏可以显示 n 个最新条目,它显示/隐藏博主信息,它确实如此有社交分享选项,博客条目启用了 cmets 等)。
【讨论】: