ChrisB: SQL-Injektion Schutz auch bei Prepared Statements?

Beitrag lesen

Hi,

// 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.  
  

> Wenn ich (wie auch in diesem Beispielskript auf der Seite) einen neunen Datensatz mit Prepared Statements, also objektorientiert, übermittle, dann brauche ich mich doch nicht um Magic Quotes oder Ähnliches kümmern.  
  
Doch, wenn du die richtigen Daten eintragen willst, und keine verfälschten.  
  

> Meine einzige kontextbezogene "Behandlung" von Usereingaben ist, dass ich bei der Ausgabe - zB. bei einem Gästebuch - die Funktion [htmlentities](http://at2.php.net/manual/de/function.htmlentities.php) verwende.  
  
htmlspecialchars wäre die bessere Alternative.  
  

> Genau das \_ist\_ doch der Vorteil bei mysqli, wenn ich mit Prepared Statements Datensätze objektorientiert übermittle, dass ich dann \_keine\_ Angst vor SQL Injektions haben muß bzw. keine Gegenmaßnahmen treffen muß.  
>   
> Oder sehe ich das falsch?  
  
Du siehst falsch, was aktiviertes magic\_quotes\_gpc bewirkt.  
  
MfG ChrisB  
  

-- 
“Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]