URL Parameter ausgeben
Klaus
- php
Hallo,
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"]);
Gruß vom PHP-Anfänger Klaus
Hi,
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?
Bitte folgenden Artikel mal vollständig durcharbeiten (auch die zweite Seite):
http://wiki.selfhtml.org/wiki/Artikel:Kontextwechsel
MfG ChrisB
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