Wenn wir php mysqli oder PDO Wrapperklasse verwenden, verhindern sie SQL Injection Risiken?Hilft php mysqli oder pdo wrapper klasse sql injektion zu verhindern?
z.
https://github.com/ezSQL/ezSQL
oder
https://github.com/bennettstone/simple-mysqli
Immer verwenden vorbereitete Anweisungen und parametrisierte Abfragen von allen Experten empfohlen.
Wrapper-Klasse ist nützlich für weniger Codierung in schneller Zeit und hilft auch, wiederholte Codierung zu reduzieren.
Wie können wir dann verwenden Wrapper-Klasse zusammen mit vorbereiteten Anweisungen und parametrisierte Abfragen gleichzeitig?
Ich bin davon verwirrt?
z.B.
Beispiel aus - How can I prevent SQL injection in PHP?
Verwenden vorbereitete Anweisungen und parametrisierte Abfragen
$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
}
Und mit Wrapper-Klasse, z.B. wir verwenden es als
$name = $database->filter($_POST['name']);
$query = $database->get_results("select* from employee where name='$name'");
foreach ($query as $row){
// do something with $row
}
Dann, wo Wrapper zu verwenden und wo vorbereitete Anweisungen zu benutzen?
wie beide gleichzeitig verwenden?
Wie erreicht man die Vermeidung von SQL-Injektionen bei der Verwendung der Wrapper-Klasse?
Sein die vorbereiteten und parametrisierte Abfragen, die die SQL-Injection-Schutz bieten. Nicht rein mit 'mysqli_' oder' PDO' – RiggsFolly
* "Ich bin verwirrt davon?" * - Also nicht benutzen. Verwenden Sie, was bereits vorhanden ist auf php.net –
Ich denke, was @ Fred-Ii sagt, es ist der Wrapper ist in keiner Weise notwendig, und die Verwendung von es nicht automatisch Schutz vor SQL-Injection – RiggsFolly