Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

SQL-Injection verhindern

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Qwert, 20 September 2013.

  1. Qwert

    Qwert Benutzer

    Hallo,

    ich bin neu was SQL angeht und möchte eine Datenbank vor Angriffen schützen.

    Reicht es aus, wenn ich die Zeichen ' und " nicht zur Verwendung erlaube und zusätzlich vor dem Eintragen eines Strings in die Datenbank den String an jeder zweiten Stelle durch ein beliebiges Zeichen erweitere:
    Aus DROP TABLE tabelle wird also DdRdOdPd dTdAdBdLdEd dtdadbdedldlded

    Vielen Dank!
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Hä?

    Der beste Schutz vor SQL-Injection sind prepared Statements.
     
  3. Qwert

    Qwert Benutzer

    War halt so eine Idee von mir :).

    Aber vielen Dank für ein Stichwort, das mich weiterbringt. :)
     
  4. Qwert

    Qwert Benutzer

    Habe nun aus einem Tutorial auf meine Anwendung übertragen:
    So funktioniert es aber nicht. Was ich mich frage, ist, was mit der Variablen $dbh ist, da die ja nirgendwo definiert wird. Was habe ich falsch gemacht?

    Danke!
     
  5. akretschmer

    akretschmer Datenbank-Guru

    Du hast aus dem Tutorial falsch Copy&Paste gemacht ;-)
     
  6. Qwert

    Qwert Benutzer

    Ok, ich habe die Zeilen

    $stmt->bindParam(':id', $id);
    $stmt->bindParam(':did', $did);

    mit den Zeilen

    $id = $_POST['id'];
    $did = $_POST['device_id'];

    vertauscht.

    Geht aber immer noch nicht :(.

    EDIT: Und ich habe folgendes eingefügt:
    $dbh = new PDO('mysql:host=host;dbname=dbname', 'user', 'passwd');
     
    Zuletzt bearbeitet: 20 September 2013
  7. akretschmer

    akretschmer Datenbank-Guru

    Das ist PHP und hier OffTopic.
     
  8. Qwert

    Qwert Benutzer

    Ok, dann frag ich wo anders..
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden