【问题标题】:Python display plain text as html [duplicate]Python将纯文本显示为html [重复]
【发布时间】:2020-03-25 18:34:36
【问题描述】:

我要做一个笔记应用程序,所以我决定为此使用summernotepython flask。 我得到了一个表单,用户必须使用summernote textarea输入标题和内容,然后输入存储在数据库中。 我遇到的问题是当我尝试以纯文本形式显示注释时

这就是我展示它们的方式

            {% for foo in notes %}
                <div class="card">
                    <div class="card-header">
                        <div class="card-title">{{ foo.title }}</div>
                    </div>
                    <div class="card-body">
                        <div class="ribbon-wrapper ribbon-lg">
                        <div class="ribbon bg-primary">
                            <p>{{ foo.category_name }}</p>
                        </div>
                    </div>
                        {{ foo.content }}
                    </div>
                    <div class="card-footer">
                        <a href="#" class="btn btn-info btn-xs"><i class="fas fa-eye"></i></a>
                        <a href="#" class="btn btn-danger btn-xs"><i class="fas fa-trash"></i></a>
                    </div>
                </div>
            {% endfor %}

有什么方法可以实际呈现 HTML 内容而不是显示为纯文本?

【问题讨论】:

    标签: python flask summernote


    【解决方案1】:

    【讨论】:

    • 调用| safe 过滤器将绕过自动转义功能! OP 开发了一个笔记应用程序,因此用户提供了 HTML 字符串。相信这是一个糟糕的想法,也是 XSS 攻击的绝佳机会。 flask.palletsprojects.com/en/1.1.x/security
    • @KristofGilicze 这是真的。你有替代解决方案吗?我通常会使用 CSP 来防止这种情况发生。
    猜你喜欢
    • 1970-01-01
    • 2013-09-25
    • 2011-10-12
    • 2013-05-19
    • 2022-01-21
    • 1970-01-01
    • 2015-07-06
    • 2017-08-28
    • 2014-09-24
    相关资源
    最近更新 更多