【发布时间】:2014-05-09 12:58:40
【问题描述】:
所以你有
$sql = "SELECT * FROM `table` WHERE `some_text_field` LIKE CONCAT('%', ?, '%')";
$stmt = $dbh->prepare($sql);
$stmt->execute(array($_POST['badies_code']));
查看另一个问题,我发现这会引起安全问题,但为什么呢?
我发现了这个问题,一个被否决的答案和一个被赞成的评论,这就是我问的原因
评论说
这不是正确的方法。您不应该将 CONCAT() 用于三个静态字符串文字,因为它会为您打开特定类型的 SQL 注入(我忘记了名称)。 ——西奥多·R·史密斯
【问题讨论】:
标签: php mysql sql-injection