phpbar.de logo

Mailinglisten-Archive

[php] Includes nur aus bestimmten Verzeichnissen zulassen...

[php] Includes nur aus bestimmten Verzeichnissen zulassen...

Kristian =?iso-8859-1?Q?K=F6hntopp?= kk_(at)_netuse.de
Wed, 10 Nov 1999 10:58:30 +0100


Alexander Meis wrote:
> Wie kann ich einrichten das von einer virtuellen Domain aus die
> php Unterstützung bietet nicht das komplette System eingelesen werden kann
> bzw. das auf diesem Virtuellen Server nur Dateinen eingelesen werden können
> die innerhalb Rootverzeichnisses des Virtuellen Servers liegen.

Du mußt das suexec von Apache durch ein selbstgeschriebenes suexec-
Programm ersetzen, daß eine Reihe von setrlimit() und chroot()-
Aufrufen macht. Die CGI-Umgebung des Kunden wird dann auf den
durch das chroot()-Baum beschränkt und kann durch den Kunden nicht
verlassen werden.

Wir richten Kunden unter

/home/www/servers/www.kunde.de/

ein und für jeden Kunden ist www.kunde.de die chroot()-Wurzel. In
www.kunde.de finden sich also

bin/
etc/
usr/bin
usr/lib
tmp/
var/tmp/ -> /tmp
usr/tmp/ -> /tmp
dev/
.
.
.

und die Kundendaten. Die Document-Root des Kunden ist jedoch

/home/www/servers/www.kunde.de/pages bzw. aus der Sicht des
chroot() das Verzeichnis pages/. Dadurch kann der Kunde sich
unterhalb der chroot-Wurzel weitere Verzeichnisse anlegen

.
.
.
cgi/
php/
pages/
database/

die nicht per URL zu erreichen sind und die daher "sicher" im Sinne
des Webzugriffes sind (sie können nur von CGI-Programmen erreicht
werden). Andererseits können CGI-Programme keine Zugriffe oberhalb
der chroot()-Wurzel erzeugen, sodaß sie nicht in die Verzeichnisse
anderer Kunden sehen können.

<WERBUNG MODE="commercial">
Weitere Informationen (Consultingstunden) können bei uns gekauft werden.
NetUSE hat Tools zum automatischen Erzeugen und Abreißen solcher Server,
sowie mit der Abrechnung und Rechnungstellung, der zentralen Kontrolle
und Konfiguration solcher Environments aus Datenbanken oder LDAP und
Tools (Webfrontends) zur Steuerung des ganzen.

Information gibt es bei service_(at)_netuse.de.
</WERBUNG>

Kristian

-- 
Kristian Köhntopp, NetUSE Kommunikationstechnologie GmbH
Siemenswall, D-24107 Kiel, Germany, +49 431 386 436 00
Using PHP3? See our web development library at
http://phplib.netuse.de/ (We have moved! Update your bookmarks!)


php::bar PHP Wiki   -   Listenarchive