Tom: switch($_GET['lang']) auch auf included-Seiten anwenden

Beitrag lesen

Hello,

?><p><a href="<?php basename($_SERVER['PHP_SELF']); ?>?lang=en">English</p>

Was soll diese Zeile bewirken?

Es müsste schon mindestens

?><p><a href="<?php echo (htmlspecialchars(basename($_SERVER['PHP_SELF'])); ?>?lang="en">English</p>

heißen. Besser wäre sicherlich

echo "<p><a href="{$_SERVER['SCRIPT_NAME']} lang="en">English</p>\r\n";

Die Verwendung von $_SERVER['PHP_SELF'] ist für XSS (Cross Site Scripting)-Angriffe gefährdet, wenn man die Variable nicht vor der Wiederausgabe mit htmlspecialchars() behandelt. Böse Buben könnten z.B. JavaScript-Code einschleusen oder bei Formularen das Formular "entführen".

Ein harzliches Glückauf

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de