12

在处理原始文本的 Django 表单代码中,我没有看到任何表单输入清理。Django 如何确保在进入数据库时​​对用户输入进行清理?它这样做是为了防止 SQL 注入等吗?

4

1 回答 1

23

用户输入由数据库驱动程序自动清理。

仅当您尝试组合包含 SQL 命令和您尝试包含的数据的单个字符串时,才需要显式用户输入清理;正确使用 Python DBAPI 将命令和数据完全分离,作为程序员,只要正确使用该功能,您就不必担心 SQL 注入。Django 默认使用该功能,因此您不必担心它。

编辑:XSS 是一个单独的问题;请参阅@renab 的评论以及https://docs.djangoproject.com/en/dev/topics/security/#cross-site-scripting-xss-protection

于 2012-11-26T22:15:58.537 回答