我有一个数据库类,它在使用 mysqli_real_escape_string() 构建查询之前自动转义输入字符串。 但可能是在脚本中,一个字符串被转义然后传递给再次转义它的数据库类。那会是错的吗?会发生什么?
最佳答案
由于您没有很好的方法来告诉其他端(当您从数据库中提取数据时)它被转义了多少次,不一致的双重转义字符串将会结束在你的最终数据中转义了以前没有的东西 - 因为你将添加两层转义但只取消转义一层。
基本上,您需要有一个恒定的转义水平 - 要么总是转义一次(并取消转义一次),要么总是转义两次(并取消转义两次)等等 - 但永远不要混合。
关于php - Double 转义字符串是否错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4171318/