Thread mod_perl: Module als Module einbinden?: Einfaches Entwurfsmuster?
(7 answers)
Opened by Lightman at 2007-05-05 22:19
Obwohl der Thread schon etwas alt ist, muss ich etwas zur Sicherheit anmerken.
[quote=frankes,05.05.2007, 21:15] Code: (dl
)
1 no strict 'refs'; Allerdings muss ich ehrlich sagen, dass ich gewaltig Bauchschmerzen habe, wenn man wie von dir geplant in einem CMS von außen beliebige Module nachladen kann. [/quote] Die Bauchschmerzen bekommst du ganz zu recht, denn wenn der Inhalt von $modul (ungeprüft) von außen kommt, ist der Code oben reinster Selbstmord. Wenn ich als Benutzer z.B. die folgende URL übergebe (analog zu dem, was Lightman als Beispiel für mail genannt hatte): Code: (dl
)
http://example.org/index.cgi?module=strict%3B%20system%20'rf%20-rf%20%2F'%3B&action=send dann ergibt das folgenden Code: Da hat der Webserver evtl. ein Problem. Wenn du ohnehin ein require $modul.'.pm' nach dem String-eval machst, dann wäre doch ein Block-eval der bessere Ersatz: Code: (dl
)
1 eval { Das ist zumindest etwas sicherer als das String-eval. Trotzdem würde ich eine Konfigurationsdatei bevorzugen. Und, Lightman: -T nicht vergessen! |