什么是防止mysql中的SQL注入的最佳方法

时间:2010-01-21 05:32:41

标签: mysql sql-injection

我对sql注入知之甚少。

我想知道在mysql中阻止sql注入的最佳方法是什么?

就像我应该如何在数据库中插入数据一样 我该如何从DB中获取它们,如何执行搜索查询,在mysql中更新查询。

到此为止我知道addslashes用于防止使用php在mysql中进行sql注入。

从数据库中搜索数据时创建问题。 我在这里描述的问题。 Search problem in mysql query

你可以告诉我如何防止这种情况。 我听说过mysql_real_escape_string,但不知道如何使用它。

由于

阿维纳什

3 个答案:

答案 0 :(得分:5)

通常,最好的方法是依赖您正在编写的语言库。每个好的库都有一种编写预制参数化SQL语句的方法,所以只需Google“$(language_name)参数化SQL”,你就可以了很高兴去。

答案 1 :(得分:2)

特拉维斯是完全正确的。您需要利用编程语言来防止SQL注入。例如,在Java中使用PreparedStatements来执行SQL查询。可以在Prepared Statements中指定参数,这些参数不能是任何其他sql查询,即阻止用户在输入参数中键入其他sql查询。这样就可以避免SQL注入。这是一个非常基本的例子,答案取决于您正在使用的编程语言。

答案 2 :(得分:1)

如果您正在使用PHP和MySQL,那么我建议使用PDO来访问数据库。