【发布时间】:2013-02-25 20:39:14
【问题描述】:
我注意到函数 json_encode() 自动在 " 和 ' 值上放置反斜杠。我最初是在将字符串放入数组之前使用mysqli_real_escape_string($con, $value) 来防止 SQL 注入,之后将使用 jSON 对其进行编码。
因为json_encode添加了额外的反斜杠,所以需要使用mysqli_real_escape_string函数?
【问题讨论】:
-
不,它没有。因为那不是它的目的。
-
我不会说这是重复的,这纯粹是针对
json_encode()函数 -
不是建设性的。有人总是想出各种解决方法来避免转义,无论是 htmlspecialchars 还是 addlashes 或 json_encode,就像在您的问题中一样。根据您的描述(mysqli_real_escape_string 然后 json_encode 的顺序非常错误),您似乎也不明白应该如何进行上下文转义。因此,为什么要提示绑定参数,这使得这一步变得多余。您避免使用更简单、更理智的方法的原因是什么?
-
这不是重复的。可怜的家伙不值得投 3 票。
标签: php sql json sql-injection mysql-real-escape-string