【问题标题】:Is there an HTML sanitizer library for django to block injection attacks?是否有用于 django 的 HTML sanitizer 库来阻止注入攻击?
【发布时间】:2021-06-19 01:52:09
【问题描述】:

我试图找到一些东西,当找到任何看起来像 HTML 或 Javascript 的东西时会返回异常。我已经想出了如何为单个视图执行此操作,但这不是一个可扩展的解决方案,最终我需要防止代码被保存到数据库中,无论注入攻击的目标是什么视图。

这是我正在寻找的功能。

ILLEGAL_CHARS = '<>[]{}():;,'.split() 

# bunch of code in between

for value in [company_name, url, status, information, lt_type, company_source]:
    if any(char in value for char in ILLEGAL_CHARS):
        raise Exception(f"You passed one of several illegal characters: {ILLEGAL_CHARS}")

我正在使用 django rest 框架,所以我必须在后端处理它。谢谢。

【问题讨论】:

    标签: django postgresql rest django-rest-framework code-injection


    【解决方案1】:

    实际上,您不需要清理任何用户输入,因为当您在模板中显示它们时,jinja {{object}} 将确保不会执行任何 html 或 java 脚本,直到您将它们标记为安全 {{object|safe}} 但如果您不想将它们保存在可能有帮助的数据库中Sanitizing HTML in submitted form data

    【讨论】:

    • 我使用的是 REST,Django 不呈现 HTML。您是否知道在查询进入数据库之前清理任何查询的方法?谢谢:)
    • 您是否阅读了上面提供的链接中的解决方案? escape 和 strip_tags 函数
    猜你喜欢
    • 2015-03-08
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-05
    • 2014-09-15
    相关资源
    最近更新 更多