【发布时间】:2012-08-30 16:48:51
【问题描述】:
如果我对所有 MySQL 查询都使用准备好的语句,是否还需要使用mysql_real_escape_string() 等来防止它被 SQL 注入?
问题:我让我的代码通过 foreach 所有 $_POST 元素和 mysql_real_escape_string() 在每个元素上运行。
但是当我开始在textareas 上使用 CKEditor 时,它就成了一个问题,因为它会生成插入数据库的 HTML 代码,但在插入之前,它会通过我之前提到的 foreach 循环,转义所有CKEditor 生成的引号,使其在 HTML 页面中显示时不起作用。
所以也许准备好的语句是要走的路?
【问题讨论】:
-
使用prepared statements时,不用担心sql注入。它会自己照顾它