【问题标题】:Django, allowing user to use embed/object html and XSS protectionDjango,允许用户使用嵌入/对象 html 和 XSS 保护
【发布时间】:2010-01-07 13:47:12
【问题描述】:

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

有没有人提到我如何用 Django 完成这个任务?

【问题讨论】:

    标签: django xss


    【解决方案1】:

    您最好使用lightweight markup language,然后转换为 HTML。这可以防止他们玩游戏来绕过您所做的任何 HTML 检查。完全正确地检查 HTML 中的“陷阱”是非常困难的。

    这样做有点像没有明确允许的事情是被禁止的

    【讨论】:

    • 如果您使用 creoleparser (pypi.python.org/pypi/Creoleparser/0.6.1),您可以创建生成嵌入代码的宏(例如,定义一个 youtube 宏以便人们可以在他们的标记中使用 <<youtube some_video_id>>,一个 googlevideo宏等)。
    • @LeafStorm:感谢您的链接。我以前没见过这个特别的。
    • 完全有可能将 XSS 漏洞嵌入到轻量级标记语言中。以下是 MarkDown 的示例:michelf.com/weblog/2010/markdown-and-xss
    • @Jordan Reiter:感谢您的提醒和出色的链接!
    猜你喜欢
    • 2017-04-20
    • 2013-03-20
    • 2010-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-08
    • 2016-03-12
    • 1970-01-01
    相关资源
    最近更新 更多