2010-01-07 83 views
1

对于我正在构建的网站,我希望用户能够为视频和音频网站提供嵌入代码。我知道这会带来安全风险,所以我想在Django中找出如何过滤所提供的html,以便只允许某些标记和某些站点。Django,允许用户使用嵌入/对象html和XSS保护

有没有人有任何提及我如何能完成这与Django?

回答

1

使用lightweight markup language然后转换为HTML可能会更好。这可以防止他们玩游戏来绕过任何HTML检查。完全正确地检查HTML'gotchas'是非常困难的。

这样做是从的学校排序这是不明确允许的是禁止

+0

如果您使用creoleparser(http://pypi.python.org/pypi/Creoleparser/0.6.1),您可以创建生成嵌入代码的宏(例如,定义一个'youtube'宏,以便人们可以使用'< >'在他们的标记中,'googlevideo'宏等)。 – LeafStorm 2010-01-07 22:41:57

+0

@LeafStorm:感谢您的链接。我以前没有见过这个特别的。 – 2010-01-07 22:54:02

+0

将XSS漏洞嵌入到轻量级标记语言中是完全可能的。以下是MarkDown的一个例子:http://michelf.com/weblog/2010/markdown-and-xss/ – 2011-07-25 22:52:54