Seite 1 von 1

Eigenständige PHP-Scripte

Verfasst: Mi 3. Sep 2008, 23:53
von mfweb
Hallo zusammen,

ich hatte unter den Contenido-Versionen 4.6.x ein eigenständiges Skript laufen, in dem ich lediglich die DB-Anbindung von Contenido benötige.
Nach dem Update auf Version 4.8.7 hat dies aber nicht mehr funktioniert. Nach Anpassung an die neuen Sicherheitsbestimmungen lautet der Anfang des SKripts:

Code: Alles auswählen

define("CON_FRAMEWORK", true);

if (isset($_REQUEST['cfg']) || isset($_REQUEST['contenido_path'])) {
    die ('Illegal call!');
}

include_once("../contenido/includes/startup.php");
Beim Einbinden der Datei startup.php bleibt das Skript aber hängen, genauer genommen in Zeile 96:

Code: Alles auswählen

cInclude("includes", "config.chains.php");
In der Ausgabe erscheint der Fehler:
Fatal error: Class 'Contenido_Security' not found in /home/www/web159/html/contenido/classes/class.cec.php on line 46
Wenn ich diese Zeile auskommentiere, läuft das Skript komplett durch.

Im Error-Log steht nur die obige Fehlermeldung.

Habe ich noch irgend etwas vergessen? Hat jemand eine Idee?

Grüße
mfweb

Verfasst: Do 4. Sep 2008, 08:46
von timo.trautmann_4fb
Optimalerweise sollte dein Script mit diesen Zeilen beginnen:

Code: Alles auswählen

if (!defined("CON_FRAMEWORK")) {
    define("CON_FRAMEWORK", true);
}

// include security class and check request variables
include_once ('./classes/class.security.php');
Contenido_Security::checkRequests();

include_once ('./includes/startup.php');
Je nachdem wo dein eigenständiges Script liegt dann nur noch den Pfad zu class.security.php anpassen dann sollte es eigentlich gehen.

Verfasst: Fr 5. Sep 2008, 11:02
von mfweb
Wunderbar, das war schon das Problem. Danke!

Was in diesem Zusammenhang für Entwickler vielleicht noch interessant ist: http://forum.contenido.org/viewtopic.php?t=22429 (Dokumentation der Sicherheitsklasse)