Michael: SQL-Injektion Schutz auch bei Prepared Statements?

Beitrag lesen

Hallo ChrisB, hallo dedlfix,

danke für Eure Antwort!

// Maskierende Slashes aus POST Array entfernen

if (get_magic_quotes_gpc()) { $_POST = array_map( 'stripslashes', $_POST ); }


> >   
> > Wofür soll das gut sein?  
>   
> Es soll die Verfälschung der Daten, die durch ggf. aktiviertes magic\_quotes\_gpc entstanden ist, wieder rückgängig machen.  
  
Ich weiß schon, dass eingeschaltetes MAGIC QUOTES zu einem Escapen führt und stripslashes das wieder rückgängig macht.  
  

> Du siehst falsch, was aktiviertes magic\_quotes\_gpc bewirkt.  
  
Ich meinte vielmehr, dass durch die Verwendung von Prepared Statements - zumindesht habe ich das bisher so verstanden - egal ist, was der User eingibt, weil die Eingabe von der Ausführung (oder was auch immer) getrennt ist. Also das 1:1 die Eingabe aus dem Formular eingetragen wird. Mit allen Slashes, Anführungszeichen, etc.  
  
Bei meiner Versuchsseite sieht die Verarbeitung der Daten, die aus einem Formular kommen, so aus:  
  
~~~php
include("connect.php");  
$vorname=$_POST["vorname"];  
$familienname=$_POST["familienname"];  
$aktion='INSERT INTO `014_testbank` (`testbank_vorname`, `testbank_familienname`) VALUES (?, ?)';  
$eintrag=$meine_datenbank->prepare($aktion );  
$eintrag->bind_param('ss',$vorname,$familienname);  
$eintrag->execute();  
if($eintrag->affected_rows==1)  
  {  
    echo"<p>Der Datensatz \" ".htmlentities($vorname)." ".htmlentities($familienname)." \" wurde der Datenbank hinzugefügt.</p>\n";  
  }  
else  
  {  
    echo"<p>Der Datensatz konnte der Datenbank leider nicht hinzugefügt werden.</p>\n";  
  }  
include("disconnect.php");

Wenn jetzt MAGIC QUOTES eingeschaltet _wäre_ (das habe ich abgedreht) und ich _nicht_ ein

if (get_magic_quotes_gpc()) { $_POST = array_map( 'stripslashes', $_POST ); }

verwende, was kann dann passieren? Ich bin jetzt _sehr_ verwirrt, weil ich so oft gelesen habe, ich brauche mir bei Verwendung von mysqli und Preparede Statements keine weiteren Sorgen machen!?

MfG

Michael