【发布时间】:2011-05-06 10:36:02
【问题描述】:
我有一个简单的分类网站...
分类信息被插入到 MySql 表中,我用来清理用户输入的唯一东西是 mysql_real_escape_string。
这就够了吗?
PDO 是最好的方式,但实际上只使用 mysql_real_escape_string 和 PDO 之间的区别是什么,让我们说这个查询:
SELECT * FROM table_name WHERE table_name.classified = '$classified';
或
INSERT INTO table_name (input1, input2) VALUES ('$input1', $input2);
谢谢
【问题讨论】:
-
转义太容易忘记了。参数化查询本质上是一种更安全的方法。 (但顺便说一句,你的例子似乎没有使用任何一种方法)。 PDO 的另一个优势是潜在的速度增益。目前这是理论上的,因为 PDO MySQL 驱动程序仍然求助于转义而不是绑定参数。
标签: php sql mysql html security