清理数据是否消除了SQL注入的可能性?

时间:2018-01-28 17:27:52

标签: php mysql sql

通过在使用数据之前清理数据,我是否还有SQL注入的风险?如果是这样,我应该使用什么标准来消除SQL注入的可能性?我被告知下面的代码受SQL注入。但是,我在查询中使用之前对数据进行了清理,因此我不确定风险是否仍然存在。

VALUES ('".$_SESSION["username"].$_SESSION["setCount"]."', '".$_SESSION["username"]."')

我已经阅读了几个问题并研究了SQL注入,但我仍然不确定是否要检查所有方框。似乎最常见的是数据清理,程序结构和限制用户可以访问的变量。

1 个答案:

答案 0 :(得分:1)

使用准备好的陈述:

示例:

$insert = $db->prepare("INSERT INTO table (usernameCount,username) VALUES (?,?)");
$insert->bind_param("ss", $usernameCount, $username);

$username = $_SESSION['username'];
$usernameCount = $_SESSION['username'] . $_SESSION['setCount'];

$insert->execute();

bind_param方法中,第一个参数是每个参数的数据类型。

每个s对应于每个参数$usernameCount$username