phpbar.de logo

Mailinglisten-Archive

[php] html > mysql wie richtig slashen/escapen etc.?

[php] html > mysql wie richtig slashen/escapen etc.?

F. Kieling at COVI f.kieling at covi.de
Don Feb 17 15:48:55 CET 2005


Hi Lutz,


>>>generell sollte man die Texte erstmal so wie sie kommen in der
>>>Datenbank speichern und erst bei der Ausgabe anpassen, z.B. mit
>>>htmlentities oder nl2br, ansonsten kann es passieren, dass wenn du
>>>irgendwann mal dein Handling der Eingaben umstellst, dass dann der
>>>eine Text noch mit der Funktion bearbeitet werden muss, der andere gar
>>>nicht, sondern so ausgegeben werden muss und dann musst du zwischen
>>>den beiden Texten unterscheiden und die entsprechende Funktion
>>>anweden, bzw. nicht anwenden und das kommt dann ziemlich doof...
>>>      
>>>
>>Das ist zwar ein kleiner Aufwand, der sich aber per Script
>>automatisieren läßt. Dem steht nämlich gegenüber, daß Du bei den rohen
>>Daten/
>>ungefilterten Texten die Gefahr einer SQL-Injection hast und Du damit
>>auf dein System beträchtliche Sicherheitslücken öffnest. Das dies
>>sehr einfach geht, haben immer wieder erfolgreiche Angriffe z.B. auf
>>PHPNuke-Seiten gezeigt.
>>    
>>
>
>Uli und ich haben ja nicht gesagt, daß die Texte nicht geprüft werden
>sollen. Es macht aber aus meiner Sicht i.d.R. definitiv wenig Sinn, für
>Umlaute etc. Entitäten in die Datenbank zu schreiben. :-)
>  
>
wenn Du die Texte so wie sie kommen in die Datenbank schiebst, läufst Du 
Gefahr,
Dir SQL-Injections einzufangen. Du mußt zumindest Anführungszeichen (") 
und Hochkommas (')
filtern und ersetzen. Der Rest ist natürlich keine Gefahr um 
Sicherheitslöcher zu reißen.
;-)

Grüsse aus dem Norden
Florian


-- 

common visions media.agentur
knieperstrasse 1
18439 stralsund

phone 0049 [0] 38 31 . 30 31 57
fax 0049 [0] 38 31 . 30 31 58
mobil 0049 [0] 170 . 83 32 281

f.kieling at covi.de
http://www.covi.de


php::bar PHP Wiki   -   Listenarchive