如果我們使用php mysqli或PDO包裝類,它們是否可以防止SQL注入風險?php mysqli或pdo包裝類有助於防止sql注入嗎?
E.g.
https://github.com/ezSQL/ezSQL
或
https://github.com/bennettstone/simple-mysqli
始終使用預處理語句和參數化查詢被所有的專家建議。
包裝類對於快速編寫較少的代碼很有用,也有助於減少重複編碼。
那麼我們如何才能使用包裝類連同準備報表和參數化查詢?
我對此感到困惑嗎?
例如
例如,從 - How can I prevent SQL injection in PHP?
使用預處理語句和參數化查詢
$stmt = $dbConnection->prepare('SELECT * FROM employees WHERE name = ?');
$stmt->bind_param('s', $name);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
// do something with $row
}
並與包裝類,例如我們用它作爲
$name = $database->filter($_POST['name']);
$query = $database->get_results("select* from employee where name='$name'");
foreach ($query as $row){
// do something with $row
}
又在哪裏使用包裝以及在何處使用準備好的發言?
如何同時使用兩者?
如何在使用包裝類時實現SQL注入預防?
其提供的SQL注入防護的準備和參數化查詢。不是純粹使用'mysqli_''或'PDO' – RiggsFolly
*「我很困惑這個?」 - 所以不要使用它。使用php.net中的已有內容 –
我認爲@Fred-ii-說的是封裝是沒有必要的,它的使用不一定會自動提供SQL注入的保護 – RiggsFolly