今天我发现我的网站被SQLi注入攻击了。即使我使用bind_param,我认为这是不可能的。
if($_GET['api'] == 'info')
{
$status = 'Test';
$stmt = $mysqli->prepare("INSERT INTO information(one, two, status) VALUES (?,?,?)");
$stmt->bind_param('sss', $_GET['1'], $_POST['2'], $status);
$stmt->execute();
$stmt->close();
}
我做错了什么?
答案 0 :(得分:1)
你的陈述是相互排斥的。要么你确定它是SQL注入 - 在这种情况下你知道它是什么;或者你没有证据表明它是SQL注入而不是别的。
说到给定的代码片段 - 不,不可能通过此代码注入。
所以,无论是SQL注入,还是在某些你没有使用bind_param的地方,或者是其他类型的攻击。</ p>