【发布时间】:2011-10-13 12:12:14
【问题描述】:
我有一些用户输入的内容(目前在 Markdown 中输入),我希望允许用户嵌入 YouTube、vimeo 等视频。所以不知何故,我需要允许特定的 object、param 和 embed 标签,同时仍然阻止其他标签。
目前我正在使用白名单清理 HTML。我意识到我可以自定义白名单,因此它专门允许指向特定 URL 的对象,但是为所有不同类型的在线服务编写这个似乎是维护的噩梦。
这是我的逻辑。我们有 Markdown,它本质上是(大部分)安全的。除了 Markdown 中恶意输入的内容之外,Markdown 呈现的实际标签保证是安全的,因此例如,如果我通过 oembed 或视频过滤器运行输出 那些 生成的标签将是安全的。因此,如果我能以某种方式知道那些生成的标签 是 安全的,然后只剥离其他标签,那将解决问题。我只是不确定钩子是什么。
我想知道在 Python 中是否已经有一种直接的方法可以做到这一点,或者我是否必须想出一些巧妙的技巧。
【问题讨论】:
标签: python django django-template-filters