有没有办法配置 mysql 或 php,以便在查询中,数据值自动转义?我读过有关 PDO 的内容,例如,Zend Framework 有一些自动执行此操作的数据库适配器 - 但在服务器端,是否没有任何配置可以避免必须在代码?
谢谢
大卫
最佳答案
isn't there any configuration that can be done to avoid having to take care of it in the code?
不完全是,不。这已经是tried - 结果是一团糟,现在每个人都讨厌。
没有“神奇功能”可以使查询安全 - 您传递给查询的每个参数都需要进行不同的清理(例如字符串与整数)。有些东西(比如动态表和列名)根本无法清理(甚至不能使用数据库库的字符串转义方法),因此您需要将它们与现有表和列的列表进行比较。
使用 PDO 的预准备语句(或 Zend Framework 数据库函数,据我所知,它包装了 PDO)是最接近于尽可能少做事的方法。
关于mysql - 自动转义查询中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7818239/