[PHP] SQL sicher eintragen?



  • Hi.

    Ich habe eine HTML Textbox und möchte deren Inhalt in die Datenbank eintragen und wieder ausgeben.

    Auf was hat man beim eintragen zu achten und was beim ausgeben?
    Ich hört man kann irgendwie SQL austricksen und in den Code eingreifen?

    Kann mir da jemand nützliche (verständliche) Sicherheitstips geben? :=)



  • Falls du mit MySQL arbeitest:
    Am besten ein mysql_escape_string() (oder so ähnlich) über den Inhalt der Textbox
    drüber laufen lassen.
    => Alle problematischen Zeichen werden entschärft.
    Dann sollte es imho keine Probleme geben.

    andere Datenbanken:
    Evtl. gibt's entsprechende Funktionen, ansonsten selber alle Steuerzeichen
    mit entsprechenden Escapezeichen unschädlich machen.



  • Je nach dem was du vor hast, kann es auch wichtig sein HTML Tags rauszufiltern. Wenn du das Eingetrangene später an irgendeiner Stelle auf einer Website wieder ausgeben willst, könnten unangenehme Sachen wie Links, gebrochene Tabellen, meta-refresh, die ein böser User eingegeben hat, üble folgen haben...

    string strip_tags ( string str [, string allowable_tags] )
    

    schnappt sich alle html und php Tags/Befehle!



  • @nirsaja:
    Dann aber bitte auch gleich ein html_entities() hinterher 😉



  • Ok... Recht hast du... 😉


  • Mod

    nie strip_tags in diesem zusammenhang verwenden.

    wenn ich jemanden etwas ueber HTML erklaere, dann will ich dass < zu > wird und nicht einfach verschwindet.

    NIE die daten des users loeschen


Anmelden zum Antworten