javascript - 为什么 Django 允许用户以 CharField 形式输入 <script>alert ("hello")</script> 而不会抛出错误?

标签 javascript python django xss

我是 Django 的新手,在我的 Django 应用程序中,我有一个模型,其中包含有关车辆的基本信息(名称、型号、品牌、年份)。我通过表格添加信息。问题是,如果用户输入“alert(”error”)”,那么表单将允许输入,并将保存为有效输入。因此,当页面刷新时,页面上会有一个警告,该字段现在为空白。如何阻止用户在 CharField 中输入 JavaScript?

我在代码库的任何地方都没有“autoescape off”,也没有在 html 中使用“safe”关键字。我没有检查此类输入的“def clean”,因为我的印象是 Django 会处理此类注入(inject)。提前致谢!

最佳答案

这是完全有效的输入。但它不会导致页面上出现警报 - 因为 Django 会自动转义输出

关于javascript - 为什么 Django 允许用户以 CharField 形式输入 <script>alert ("hello")</script> 而不会抛出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55620232/

相关文章:

python - 制作具有动态字段数的 Django 表单类

javascript - 使用 lodash 按多个字段对数组中的项目进行排序

PYTHON:最适合每个x值的多个y值的线

python - 如何使用Python在网页上显示视频?

python - 无法运行manage.py

django - 在 django-rest-framework 中使用 .to_representation() 和 .to_internal_value?

javascript - Atom linter/es-lint 禁用一些警告

javascript - 将 Userscript 转换为解压的 Chrome 扩展

javascript - Open Layers 3层可见性——传递变量的问题

Python路径找不到文本文件