Tom: URL Parameter ausgeben

Beitrag lesen

Hello Klaus,

ich möchte Variablen die ich via URL-Parameter übergeben bekomme auf einer Seite ausgeben. Jetzt habe ich viel gelesen bzgl. Sicherheit und Cross-Site Scripting.
Reicht es tatsächlich aus den Inhalt der Variable mit htmlspecialchars zu maskieren? Bin ich dann schon auf der sicheren Seite?
z.B.
echo htmlspecialchars($_GET["variable1"]);

Unbeachtet der Tatsache, dass die Parameter eventuell auf der Absenderseite nicht ordentlich verarbeitet wurden, reicht es für den Empfänger, der die Response auf diesen Request für die Ausgabe in HTML formatieren und zu codieren hat, die GET-Parameter mittels htmlspecialchars zu behandeln.

Dies würde die Sonderzeichen, die im Browser (in HTML) Steuerwirkung hätten, in unschädliche darzustellende Zeichen übersetzen. Ob die anzuzeigenden Zeichen dann aber alle sinnvoll sind, kann man nicht vorhersagen.

Sinnvollerweise müsstest Du aber, bevor DU einen GET-Parameter ausgeben lässt, erstmal feststellen, ob er überhaupt vorhanden ist -> isset()
http://de2.php.net/manual/en/function.isset.php

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de