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