split子句和args如何防止SQL注入?

时间:2014-04-30 12:19:48

标签: sql sql-injection

我听说分离的SQL子句和args可以防止SQL注入。例如,

clause = SELECT * WHERE ID = ? AND NAME = ?

ID = 23,NAME =“Tom”。

有人可以向我解释它是如何运作的吗?

1 个答案:

答案 0 :(得分:1)

基本上,您可以非常清楚地区分数据和实际代码(查询部分)。您告诉SQL服务器:这显然是数据,这显然是代码。

通过这种方式,您基本上可以跳过服务器必须从查询中分离代码和数据的部分,因此服务器无法在查询过程中误解数据位。

编辑:根据评论中的链接,这个answer pretty much answers your question比我在这里解释的要好得多。