Hallo zusammen,
ich frage mich ob mysqli sicher ist mit prepared Statements, heißt, ich habe mal gelesen, dass dort schon alles Escaped wird um SQL Injections zu vermeiden. Einfaches Beispiel (sehr banal):
Wäre das schon sicher vor Injections? Oder sollte man dennoch Reuläre Ausdrücke, real_escape oder dergleichen verwenden um schädlichen code auszusortieren?
Ich habe bisher meine ganze Seite so gecoded, wäre natürlich schlecht für mich, wenn es nicht sicher davor wäre.
LG
Pit
ich frage mich ob mysqli sicher ist mit prepared Statements, heißt, ich habe mal gelesen, dass dort schon alles Escaped wird um SQL Injections zu vermeiden. Einfaches Beispiel (sehr banal):
HTML-Code:
<form action='formular.php' method='post'> <fieldset value='Formular'> <label>Vorname<input type='text' name='vorname'></label> <label>Username<input type='text' name='username'></label> <input type='submit' value='Senden' name='submit'> </fieldset> </form>
PHP-Code:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (!isset($_POST['vorname'], $_POST['username'], $_POST['submit'])) {
return 'fremdes formular';
}
if (($username = trim($_POST['username'])) == '' OR
($vorname = trim($_POST['vorname'])) == '') {
return 'leeres formular';
}
$sql = 'INSERT INTO
user(vorname, username)
VALUE
(?, ?)';
$stmt = $db->prepare($sql);
if (!$stmt) {
return $db->error;
}
$stmt->bind_param('ss', $vorname, $username);
$stmt->execute();
$stmt->close();
return 'Vorname '.$vorname.' und Username '.$username.' wurden hinzugefügt';
}
?>
Ich habe bisher meine ganze Seite so gecoded, wäre natürlich schlecht für mich, wenn es nicht sicher davor wäre.
LG
Pit
Kommentar