Tobias Kloth: "//////////"-ERROR anstatt Text

Beitrag lesen

Hallo Jochen,

gute Nachrichten - ich glaube, dass ich das mit dem .htaccess gechecket habe und ne .htaccess Datei setzen kann (muss ja nur die eine Zeile "php_flag magic_quotes_gpc     off" rein, oder?).

ja - du musst dann aber wirklich wissen was du tust und _immer_ darauf achten, dass du die Daten die von außen kommen entsprechend behandelst.

<input type="hidden" name="cogsup_st" value="<?php echo htmlentities ($cogsup_st);?>">
angeben muss?

ja.

Ist dann das Problem gelöst? Warum muss ich denn magic_quotes_gpc überhaupt auf "off" setzen, wenn ich durch "htmlentities" sowieso die kritischen Zeichen ersetze?

magic_quotes und htmlentites() sind zwei verschiedene Paar Schuhe. magic_quotes_gpc sorgt dafür, dass Daten die von außen kommen "entschärft" werden und z.B. keinen Schaden anrichten können, wenn sie ungeprüft in ein Query für eine Datenbankabfrage eingebaut werden - es ist also ein Selbstschutz für unerfahrene Programierer. htmlentities() dagegen maskiert einfach die HTML-eigenen Zeichen.

und würdest Du eher "htmlentities" oder "htmlspecialchars" als Befehl verwenden?

dass musst du wissen, htmlspecialchars() wandelt nur die HTML-eigenen Zeichen in Entities um -  htmlentities() dagegen wandelt auch Sonderzeichen in Entities um. Ich verwende zwar zur Zeit meist htmlentities, werde aber wohl auf htmlspecialchars() umsteigen, da ich nur die Sonderzeichen maskiert haben will (frag mich nicht, warum ich dann htmlentities() eingebaut habe :-)).

Grüße aus Nürnberg
Tobias