phpbar.de logo

Mailinglisten-Archive

[php] include von fremder Domain

[php] include von fremder Domain

Aron Schlesinger aron at viplocations.de
Mit Mar 16 12:29:12 CET 2005


Am 16.03.2005 um 12:08 schrieb Frank Böhme:

> Hallo zusammen !
>
> Ich habe auf einem dedizierten Server 5 Domains:
>
> www.domain1.de
> www.domain2.de
> ...
> www.domain5.de
>
> Die domain1.de ist für mein Projekt eine Art Hauptdomain, auf ihr
> liegen wichtige Include-Dateien in einem speziellen Ordner:
>
> www.domain1.de/inc/test.inc.php
>
> Für ein Templatesystem möchte ich von allen anderen Domains des
> Projektes diese Include-Dateien einbinden, also domainübergreifend.
>
> Der Versuch (auf www.domain2.de) mittels:
>
> <? include("http://www.domain1.de/inc/test.inc.php") ?>

Klar das kann nicht gehen, dann lieber über
fopen("http://www.domain1.de/inc/test.inc.php", 'r'), aber Achtung
wenn Du das über das http Protokoll lädst werden die Dateien wenn sie
php als Endung haben auch gepharst. Um das zu um gehen über FTP:
fopen("ftp://user:passwort@localhost/inc/test.inc.php", 'r').

> scheitert natürlich, da könnte ja jeder kommen. Wenn ich es mit dem
> Pfad ausgehend vom Root des Server versuche, meldet mir PHP, daß ich
> dafür keine Rechte besitze (was mir auch einleuchtet).

Wenn PHP die vhosts mit open_basedir konfiguriert sind wirst du keine
andere Möglichkeit haben als oben beschrieben. Ansonsten die Rechte für
das Verzeichnis mit den Inc Dateien ändern. zB 755. So kann aber
natürlich jeder andere auf dem Server auch diese Dateien einsehen.

> Auf Server-Ebene liegen die Domains in folgenden Verzeichnissen:
>
> /home/httpd/vhosts/domain1.de/httpdocs
> /home/httpd/vhosts/domain2.de/httpdocs
> ...
> /home/httpd/vhosts/domain5.de/httpdocs

Die schönste Möglichkeit ist wohl für alle Domains einen Webroot
zu haben. Das ist bei VHost Servern die man nicht selber betreut
meist leider nicht realisier bar.

>
> Wie komme ich an die entsprechenden Rechte, bzw. habe ich bessere
> Alternativen ?

Siehe oben.
Oder Du leitest alle Domains mittels header("Location: ..") auf eine
Domain1 um.

Gruß
   Aron

php::bar PHP Wiki   -   Listenarchive