Tach!
Es ist sogar besser.
$_GET["produkt"]
sieht man an, dass man’s vor einer Ausgabe mithtmlspecialchars()
behandeln muss;$produkt
sieht man’s nicht an …
Man muss es den Variablen nicht ansehen. Es ist egal woher ein Inhalt kommt, er muss immer dem Ausgabekontext entsprechend behandelt werden. Sich darauf einzustellen, dass nur $_GET/$_POST gefährlich ist, ist gefährlich.
$sebworld = file_get_contents('http://shop.strato.de/epages/63450760.preview/de_DE/?ObjectPath=/Shops/63450760/Products/' . urlencode($_GET["produkt"]));
urlencode()
reicht aus, oder?
Ja, denn es soll ja nur eine URL erzeugt werden, die zum Datenabfragen benutzt wird. Es findet kein weiterer Kontextwechsel damit statt. Und urlencode() muss für den Querystring-Teil ausreichen. Alternativ kann man auch (üblicherweise gefahrlos) rawurlencode() nehmen, dann wird ein Leerzeichen zu %20 statt zu +.
dedlfix.