MySQLi sicherheitsfrage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MySQLi sicherheitsfrage

    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):

    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';
    }
    ?>
    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
    Zuletzt geändert von PitPanda; 31.12.2010, 00:34.

  • #2
    Hallo,

    ja, prepared Statements werden bereits sicher behandelt und du musst dich nicht zusätzlich darum kümmern.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar

    Lädt...
    X