使用bind_param时,Site注入了SQLi

时间:2016-06-18 10:14:55

标签: php mysqli

今天我发现我的网站被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();
  }   

我做错了什么?

1 个答案:

答案 0 :(得分:1)

你的陈述是相互排斥的。要么你确定它是SQL注入 - 在这种情况下你知道它是什么;或者你没有证据表明它是SQL注入而不是别的。

说到给定的代码片段 - 不,不可能通过此代码注入。

所以,无论是SQL注入,还是在某些你没有使用bind_param的地方,或者是其他类型的攻击。<​​/ p>