非技术背景信息:我在一所学校工作,我们正在使用Django建立一个新网站.为学校工作的教师在技术上没有足够的能力使用另一种MarkUp语言,如MarkDown.我们最终决定使用WYSIWYG编辑器,这会带来安全漏洞.我们并不太担心教师本身,而是更多可能获得教师资格的恶意学生.
技术背景信息:我们正在使用Django 1.3运行,尚未选择特定的编辑器.我们倾向于使用像TINYMCE这样的javascript,但可以说服它使用任何允许安全性和易用性的东西.因为WYSIWYG编辑器将输出要呈现到文档中的HTML,所以我们不能简单地将其转义.
什么是防止恶意代码的最佳方法,同时仍然让非技术教师轻松撰写帖子?
我有一个动态的网页,我希望其他人可以嵌入到他们的网页中,iframe但不一定要使用像JavaScript这样的任何更高级的技术.
我不是自己提供各种设计和样式,而是考虑允许他们通过HTTP GET参数为我的页面提供自己的样式表,并<link type="text/css" rel="stylesheet" href在我的页面上通过URL w/... 嵌入这样的外部样式表.
这样安全吗?它会违反我网站的安全范例吗?我知道可以单独使用CSS插入额外的文本,并且确实可以删除元素(这是我为用户提供此类功能的全部意义),但我应该注意什么?
恶意的人可以通过这样的CSS在我的网站上插入链接,从我的http referer中受益并可能违反某些检查,或者CSS插入仅限于文本?
我一直在想什么.在我的论坛上,有用户可以选择的默认CSS代码.这会改变从背景到文本颜色的所有内容.我有一个javascript代码.是否有可能使javascript成为CSS的一部分,因此如果某个CSS代码是默认的,那么它的一部分就是javascript?
我目前有一个表单,允许管理员更改网站上的基本 CSS 属性。我正在考虑为高级管理员创建一个表单,它将在文本区域内显示整个 CSS 文件并允许他们自由编辑。我不担心文件被擦除,因为它可以轻松恢复。我担心的是有人可能会在 CSS 文件中添加一些代码,这可能会对 Web 服务器造成重大损害。是否有可能从 CSS 文件执行恶意代码?