此查询是否容易受到SQL注入攻击

时间:2017-08-16 12:27:15

标签: php mysql

我已经完成了一个项目,在后端有一些SQL语句正在做各种各样的事情,正如你所期望的那样。

过去我使用PDO构建SQL查询,使用参数化来避免注入攻击。

在阅读代码时,我注意到以下形式的许多查询:

{{1}}

没有参数化或清理输入。

这种类型的查询是否容易受到攻击,如果没有某种形式的参数化,更重要的是我应该解释所涉及的风险,因为开发人员似乎并不知道风险。

1 个答案:

答案 0 :(得分:2)

是的,

但你可以将它用于mysqli:http://php.net/manual/en/mysqli.prepare.php

因此,对于您的数据,它将类似于:

$prepare = $dbcon->prepare("SELECT * FROM detail WHERE email = ?");
$prepare->bind_param("s", $email);
$prepare->execute();