Modul- und Funktionsnamen müssen mit einem Buchstaben beginnen
authorMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 4 Feb 2010 14:44:11 +0000 (15:44 +0100)
committerSven Schöling <s.schoeling@linet-services.de>
Tue, 20 Jul 2010 08:31:00 +0000 (10:31 +0200)
SL/Dispatcher.pm

index 76d49b5..3b64e48 100644 (file)
@@ -206,18 +206,18 @@ sub _route_request {
 }
 
 sub _route_dispatcher_request {
-  my $action_re = '[a-z0-9_\-]+';
+  my $name_re = qr{[a-z]\w*};
   my ($script_name, $action);
 
   eval {
-    die "Unroutable request -- inavlid module name.\n" if !$::form->{M} || ($::form->{M} !~ m/^$action_re$/);
+    die "Unroutable request -- inavlid module name.\n" if !$::form->{M} || ($::form->{M} !~ m/^${name_re}$/);
     $script_name = $::form->{M} . '.pl';
 
     if ($::form->{A}) {
       $action = $::form->{A};
 
     } else {
-      $action = first { m/^A_${action_re}$/ } keys %{ $::form };
+      $action = first { m/^A_${name_re}$/ } keys %{ $::form };
       die "Unroutable request -- inavlid action name.\n" if !$action;
 
       delete $::form->{$action};