hallo
1. my $pm = 'apps/'.$POST->{modul}.'/'.$POST->{modul}.'.pm'; if( -e $pm && -r _ && -f _ ){ 2. my $modulrun = require $pm; 3. $actionresult = $modulrun->();
1. Der Name des Moduls wird durch einen Parameter bestimmt 2. Code wird kompiliert und liefert eine Codereferenz 3. der referenzierte Code wird ausgeführt.
Es ist Deine Entscheidung, diese Hinweise zu ignorieren: Die Anwendung hat eine erhebliche Sicherheitslücke!
Für mich sieht das danach aus, als ob nur Module aus dem Unterverzeichnis "apps" geladen werden können. Wenn da per Konvention nur Module abgelegt werden, die auch öffentlich erreichbar sein sollen, gibt es keine Sicherheitslücke. Ansonsten natürlich schon.
So ist es.