我应该使用PDO来清理我的Sql查询还是"mysql_real_escape_string"?

5 html php mysql sql security

我有一个简单的分类网站...

分类被插入到MySql表中,我唯一用来清理用户输入的是mysql_real_escape_string.

这够了吗?

PDO是最好的外出方式,但实际上只使用mysql_real_escape_string和PDO 之间的区别,让我们说这个查询:

   SELECT * FROM table_name WHERE table_name.classified = '$classified';
Run Code Online (Sandbox Code Playgroud)

要么

   INSERT INTO table_name (input1, input2) VALUES ('$input1', $input2);
Run Code Online (Sandbox Code Playgroud)

谢谢

dki*_*zer 2

我认为mysql_real_escape_string足以存储在数据库中并防止任何 sql 注入攻击。但其他验证是一个好主意,这样您的数据集更加规则并且不太容易包含垃圾。

为了呈现任何这些数据,过滤(ala Drupal 风格等)也是一个好主意。