immer escapen ?!

Sweetlover

Mitglied
Also ich habe vor kurzem irgendwo gelesen dass man jede Usereingabe von Außen von behandeln sollte:
addslashes(htmlspecialchars($eingabe));
damit bloß keine Gefahr entsteht.

Nun habe ich das so in meinem Forum drin, aber jedes Mal wenn ich z.b. sowas hier schreibe:

Mein Onkel sagte: "test".

dann wird das so dargestellt

Mein Onkel sagte: \"test\".

Das will ich aber so nicht... also wie sieht es denn mit der Sicherheit aus... muss ich unbedingt immer addslashes drin haben oder wie kann ich das denn sonst lösen?
 
Wenn du Tet, welchen jemand über ein Formularfeld eingegeben hat, als Text ausgeben willst, dann musst du stripslashes() statt addlashes() verwenden....die Dinger sollen ja schliesslich weg.

Unsicher ist daran garnix, solange du den Text nur ausgibst, und ihn nicht zur Erstellung von Datenbankabfragen verwendest.
 
Bei der Ausgabe [phpf]sripslashes[/phpf] benutzen.
Allerdings wüde ich schauen, ob [phpf]magic_quotes_gpc[/phpf] (oda so) on sind.
 
Bevor man den Inhalt aus einer Variable in die Datenbank schreibt, sollte erst [phpf]stripslashes[/phpf] verwenden und anschließend ein [phpf]mysql_escape_string[/phpf]. Dann werden die Daten genauso gespeichert, wie sie eingegeben wurden. Bei der Ausgabe muss meistens [phpf]htmlentities[/phpf] verwendet werden, damit eingegebener HTML-Code nicht interpretiert wird (beziehungsweise, damit es die Formularfelder nicht entstellt, wenn man den Inhalt dort anzeigen lassen möchte).

snuu
 
Zurück