有没有一个用于django的HTML清理程序库来阻止注入攻击



我正试图找到一些东西,在找到任何远程看起来像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框架,所以我必须在后台处理它。谢谢

实际上,您不需要净化任何用户输入,因为当您在模板中显示它们时,jinja{{object}}将确保在您将它们标记为安全{{object|safe}}之前不会执行任何html或java脚本,但如果您不想将它们保存在数据库中,这可能有助于净化提交表单数据中的html

最新更新