Oki, hier mal ein "globaler Schnellfix" für Fremdmodule die im vkpMx eingesetzt werden:
In allen .php Dateien, die sich im Modulordner und dessen Unterordnern befinden folgende Zeilen suchen:
if (!eregi("modules.php", $PHP_SELF)) {
die ("You can't access this file directly...");
}
und durch folgendes ersetzen:
if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");
Die zu suchenden Zeilen können auch in ähnlicher Schreibweise vorhanden sein. Falls sie ganz fehlen, oder wenn man sich nicht sicher ist, einfach die neue Zeile zusätzlich, ganz am Anfang der Datei nach <?php , einfügen.
Vorsicht! Das Modul läuft dann nur noch im vkpMx!
Ähnliches in allen Dateien im Adminordner...
Dort befindet sich folgendes in den Dateien (oder so ähnlich):
if (!eregi("admin.php", $PHP_SELF)) { die ("Access Denied"); }
Dieses wieder durch folgendes ersetzen:
if (!defined("mxAdminFileLoaded")) die("Access Denied");
Das gilt alles nur für Dateien, die nicht mit dem vkpMx ausgeliefert wurden!
Alternativ dazu kann man folgendes machen:
in den Ordner /admin und /modules eine .htaccess Datei anlegen mit folgendem Inhalt:
<filesmatch "\.php$">
deny from all
</filesmatch>
Dadurch können in diesen Ordnern keine .php Dateien direkt aufgerufen werden.
Nachteil dabei ist, dass bei modulen, die wirklich eine Datei direkt aufrufen nicht mehr funktionieren. Dies dürfte aber sehr selten der Fall sein. Normalerweise werden diese Dateien nur includet, da schadet dieser .htaccess Schutz nichts.
Bei den im vkpMx mitgelieferten Modulen und Dateien ist nur das eBoard betroffen. Hier kann die oben erwähnte Zeile problemlos zusätzlich hinzugefügt werden.