Mailinglisten-Archive |
Hallo Thorsten, >Wir möchten ein größeres Projekt realisieren und möchte jetzt >Standardroutienen zum lesen/schreiben/ändern usw. zentral auf unserem Server >ablegen. >Als include path ist auf dem Server nichts eingestellt. Welches Verzeichnis >nimmt er dann als Root-Verzeichnis? > >Struktur der Verzeichnisse > >Hier liegen die PHP-Dateien, die auf die zentralen Routienen zugreifen >sollen: > >/usr/local/etc/httpd/vhosts/domain.de/php > >Wo sollte am sinnvollsten und sichersten in zentralen Routienen abgelegt >werden? Wenn ich deine Verzeichnisstruktur richtig deute, dann wäre /usr/local/etc/httpd/vhosts/<Zentrale funktionen> zum Beispiel ein gutes Verzeichnis. Um zentral Funktionen zu nutzen, gehe ich wie folgt vor: 1. Ich speichere alle Pfade und Kofigurationsoptionen in einer Textdatei im Sinne von: ---snip------snip------snip------snip------snip------snip------snip----- -snip------snip--- # # Alle Variablen werden in das Feld g_var[Variablenname]=[Variablenwert] eingelesen. # Die Parameter werden in g_typ[Variablenname]=[Typ] und in g_desc[Variablenname]=[Beschreibung] eingelesen # # Typen: # IP = Format einer IP Adresse # TX = Text # IN = Integer # BO = Boolean / logisch # PW = Passwort # #Format: # # Variablenname|Variablenwert|Typ|Beschreibung # # Datenbank # db_server|localhost|IP|IP Adresse des db-Servers db_maintable|firma|TX|Name der Datenbank db_master|masterdb|TX|Name des Administrators db_master_pwd|itsecure|PW|Passwort des Administrators db_user|admin|TX|Name des Standardusers db_user_pwd||PW|Password des Standardusers # # Einstellungen # admin|1|BO|Administratormodus bossid|1|IN|ID des Bosses, er kann jeden und alles löschen und Editieren ln|de|TX|Sprache /mein/datei/pfad/|incpath|TX|Pfad zur Includedatei [..] ---snip------snip------snip------snip------snip------snip------snip----- -snip------snip--- 2. Ich benutze eine Funktion, die in einer Datei "func_init.php3" steht, um diese zentralen Variablen einzulesen: ---snip------snip------snip------snip------snip------snip------snip----- -snip------snip--- [..] //Einlesen der Configdatei function fn_global_read_config($dateiname="variablen.txt") { if(file_exists($dateiname)) { $fd = fopen( $dateiname, "r" ); $all = fread( $fd, filesize( $dateiname ) ); fclose( $fd ); } else { echo "Datei $dateiname existiert nicht!"; } $all= split("\n",$all); // Formatierungsproblemen aus dem Weg gehen while (list( $key, $zeile ) = each( $all )) { if (substr($zeile,0,1) != "#") { // Zeilen mit # ignorieren list($varname,$varinhalt,$vartyp,$vardesc) = split('\|',$zeile); $g_var[$varname]=$varinhalt; $g_typ[$varname]=$vartyp; $g_desc[$varname]=$vardesc; } } [..] ---snip------snip------snip------snip------snip------snip------snip----- -snip------snip--- 3. Am Ende dieser Funktion habe ich die globalen Variabeln in einem Array g_var, welches ich nun für das PHP-Dokument nutze... ---snip------snip------snip------snip------snip------snip------snip----- -snip------snip--- <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"> if (isset(globalid)) { // Bisherige Sessiondaten herstellen, // da der User bereits eine globalid // erhalten hat require ("func_readset.php3"); } else { // Systeminitialisierung // Einlesen der globalen Variablen, // evtl, nach abfrage der Userdaten require ("func_init.php3" );} } require ($g_var[incpath]."func_system.php3" ); require ($g_var[incpath]."func_useridend.php3" ); // // Bereits im HEAD sollen die Styles definiert werden. // echo (" "); [..] ---snip------snip------snip------snip------snip------snip------snip----- -snip------snip--- Ich weiss jetzt nicht, in wieweit das an Deiner Frage vorbeigeht, beziehungsweise sie ergänzt und vertieft, aber ich hoffe, dir geholfen zu haben... Mit freundlichen Gruessen, Oliver Grube * Reverse Hacking: Das root-Passwort ist "./mmG8-n", finde den passenden Rechner... ******************************************** iT_SEC - enabling trusted ebusiness ******************************************** iT_SEC Deutschland GmbH Dünner Straße 247, 41066 Mönchengladbach Telefon: 02161/6897-0, Fax: -199 http://www.de.it-sec.com Wir freuen uns auf Ihren Besuch auf der infosecurity 2000 in Frankfurt vom 31.10.- bis 2.11.2000, Halle 6 Systems 2000 in München vom 6.11.-10.11.2000 Halle C3. 121
php::bar PHP Wiki - Listenarchive