gpt4 book ai didi

python - 在 Django 中对富文本字段使用安全过滤器

转载 作者:太空狗 更新时间:2023-10-29 18:14:51 29 4
gpt4 key购买 nike

我正在使用 TinyMCE Django 中的文本区域编辑器表格。

现在,为了向用户显示富文本,我不得不在 Django 模板中使用“安全”过滤器,以便在浏览器上显示 HTML 富文本。

假设 JavaScript 在用户的浏览器上被禁用,TinyMCE 将不会加载并且用户可以通过 <script>或其他XSS来自这样一个文本区域字段的标签。这样的 HTML 显示给用户是不安全的。

如何处理不是来自 TinyMCE 的不安全 HTML 文本?

最佳答案

使用django-bleach .这为您提供了一个 bleach 模板过滤器,允许您只过滤掉您想要的标签:

{% load bleach_tags %}
{{ mymodel.my_html_field|bleach }}

诀窍是将编辑器配置为生成与您愿意在漂白设置中“允许通过”的标签相同的标签。

这是我的漂白设置示例:

# Which HTML tags are allowed
BLEACH_ALLOWED_TAGS = ['p', 'h3', 'h4', 'em', 'strong', 'a', 'ul', 'ol', 'li', 'blockquote']
# Which HTML attributes are allowed
BLEACH_ALLOWED_ATTRIBUTES = ['href', 'title', 'name']
BLEACH_STRIP_TAGS = True

然后您可以配置 TinyMCE(或您正在使用的任何所见即所得编辑器)仅具有创建允许标签的按钮。

关于python - 在 Django 中对富文本字段使用安全过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1414986/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com