php $_GET Problem umgehen

Hi,
Ich habe ein Page in der der Inhalt anhängig von der Variablen $page, die über GET kommt, angezeigt wird. Ok, in der Variablen ist aber der Pfad enthalten zur Datei die includet werden soll. Ist ja etwas ungüstig, weil dann mögliche Angreifer Fremd-Code ausführen können. Jetzt dachte ich mir ich mach eine Art mapping und mappe so:
a -> main.html
b -> xyz.html
etc.

Dann kann ich in der Variablen z.B. ein "a" übergeben, der checkt das mapping und läd dann main.html. Aber wie realisieren ich so ein mapping am besten? Bzw geht das auch irgendwie über POST? Aber wie schreib ich das in HTML, dass ein Link ein php-Skript aufruft und dann eine Variable über POST übergibt?

mfg
serow
 
POST ist für Formulare geeignet, bei Links bist du mit GET besser bedient.

Wie du das Mapping am günstigsten machst, bleibt dir überlassen. Recht einfach geht's mit einem assoziativen Array. Beispielcode (ungetestet):

PHP:
<?php

$map = array ( 'a' => 'main.html',
               'b' => 'blubb.html',
               'c' => 'hallo.php',
               ...
             );
             
include ( $map [ $_GET [ 'var' ] ] );
?>
Da "a" und "b" als URL-Parameter reichlich doof aussehen, kannst du ja auch etwas besser verständliche Namen verteilen.
 
Danke!
Ich mach normalerweise recht selten PHP und bin daher mit den Datenstrukturen nicht wirklich vertraut. Assotiativies Array also, hmm, wäre wohl ne HashMap in Java :D

Thx
 
Zurück
Oben