Thread mod_perl: Module als Module einbinden?: Einfaches Entwurfsmuster? (7 answers)
Opened by Lightman at 2007-05-05 22:19

frankes
 2007-05-05 23:15
#76486 #76486
User since
2005-04-02
140 Artikel
BenutzerIn

user image
Hallo Lightman

Du kannst Mittels eval überprüfen ob ein Modul existiert und wenn dies der Fall ist, dieses zur Laufzeit mit Hilfe von require einbinden.
Dabei kannst du dann auch die entsprechenden Parameter für das Modul übergeben.

Beispiel:
Code: (dl )
1
2
3
4
5
6
7
8
no strict 'refs';
if (eval "require $modul"){ &n
bsp;
require $modul.'.pm';
@back=&{$modul.'::content'}(@param);
}
else {die 'Modul nicht ladbar'}
use 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. Gibt es doch auch einige Standartmodule, mit denen man gewaltigen Schaden (Dateien und Verzeichnisse löschen, Zugriff aufs System ...) anrichten kann.

Sinnvoller wäre eine Schnittstelle innerhalb des CMS, über das der Admin zusätzliche Module einbinden kann, welche nicht von außen erreichbar ist. ZB. mit einer Config Datei.

View full thread mod_perl: Module als Module einbinden?: Einfaches Entwurfsmuster?