I read that you do not need to validate or sanitize user's input Wenn Sie vorbereitete Anweisungen verwenden.Um die Validierung von Benutzerdaten für vorbereitete Anweisungen zu verstehen
Dies macht jedoch im folgenden Beispiel für mich keinen Sinn.
Der Benutzer gibt seine E-Mail-Adresse an.
ich normal laufen diese
Validation Code
// to validate data
if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
header("Location: index.php");
die("Wrong email-address");
}
Die Erklärung sagt, dass wir nicht brauchen, um Daten zu überprüfen, ob wir bereit, Aussagen zu verwenden, wie
ohne die-Code folgt Validierungscode
// to get email-address nad passhash from the db
$result = pg_prepare($dbconn, "query2", 'SELECT email, passhash_md5
FROM users WHERE email = $1
AND passhash_md5 = $2;');
$result = pg_execute($dbconn, "query2", array($_POST['email'], $_POST['password']));
if(!$result) {
echo "An error occurred";
exit;
}
Ich bin nicht sicher, ob wir den Validierungscode oder nicht im letzten Code benötigen, da wir pg_prepare
und pg_execute
verwenden.
Müssen Sie Benutzereingaben überprüfen und bereinigen, wenn Sie vorbereitete Anweisungen verwenden?
Vielen Dank für Ihre Antworten! –