Mir*_*iro 3 python postgresql sql-injection
我正在使用 PostgreSQL 11 COPY 命令通过 Python 将大型 CSV 导入数据库,如下所示:
COPY "ns"."table" ("col1", "col2") FROM STDIN WITH CSV HEADER DELIMITER AS ','
我没有找到任何最新信息,以确定此操作在 SQL 注入攻击方面是否安全,或者我是否应该手动检查 CSV 并转义文件中的每个值(这是一个非常繁重的操作)。
谢谢!
使用此命令不存在 SQL 注入的危险。
如果用户提供了错误的数据,那么您最终会在表中得到错误的数据,或者在最坏的情况下,您可能会收到错误,因为文件不是正确的 CSV 或因为违反了约束。
但是没有办法破坏执行语句的安全性,因为用户输入的任何内容都不会成为 SQL 语句的一部分。有了COPY,SQL语句和数据之间就有了明显的区别。
| 归档时间: |
|
| 查看次数: |
972 次 |
| 最近记录: |