Du machst das genauso wie bei PHP auch und genauso wie bei PHP solltest du dies nicht tun.
Verwende lieber assoziative Arrays (Hashes).Damit verhinderst du dass, wenn $section einen unerwarten Wert erhaelt, nicht ungewuenscht auf beliebige Variablen zugegriffen werden kann. Du beschraenkst den Zugriff auf z.Bsp. den Hash.
Angenommen, und dies ist haeufig der Fall, deine Anwendung speichert irgendwo ein Passwort oder einen Schluessel im Klartext (warum auch immer).
my $geheimer_schluessel = "1haslkjasdwer";
Und da _nichts sicher ist_, findet dein Anwender einen Weg $section so zu manipulieren dass sie den Wert "geheimer_schluessel" erhaelt.
my $content = ${$section};# entspricht
my $content = ${geheimer_schluessel};
# bzw.
my $content = $geheimer_schluessel};
Den Rest kannst du dir ja denken...Am besten ist es du legst eine Liste gueltiger Werte fest.
Deinen Beispiel nach zu urteilen bietet es sich in deinen Fall besonders an.
Du moechtest doch den Benutzer durch Angabe von einer aehnlichen URL wie
http://.../?section=../../../../geheime_datei
keine ungewollten Zugriff auf Dateien erlauben oder doch?
Datum: 13.12.2008-06:12
