我们从网络表单(不受我们控制)中获取输入并将其存储到数据库中。
数据通过 PDO(使用 Zend Db)运行并存储在服务器 A 上的 Mysql 表中,一切都很好,数据按应有的方式转义。
然后,我们有一个夜间例程,它选择前几天的数据,将其导出为 csv,将该 csv ftps 传输到服务器 B,然后将其加载到另一个表中(与服务器 A 上的结构相同)。然后我LOAD DATA IN LOCAL FILE
用来拿起 csv 文件并一次性加载它。
我的问题是:我是否正确地假设如果数据在加载到服务器 A 时被正确转义,那么在不再次明确转义的情况下将其大量加载到服务器 B 中仍然是安全的?
(服务器 A 运行 PHP 5.3.7,而服务器 B 运行 5.2.6)
编辑
澄清一下:LOAD DATA IN LOCAL FILE
包含在通过 PHP 脚本调用的 sql 查询中,而不是直接的命令行指令(尽管必要时可以这样做)。