PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Include aus einem fremden Webverzeichnis (http://www.selfphp.de/forum/showthread.php?t=26018)

Fbuescher 20.06.2017 15:04:54

Include aus einem fremden Webverzeichnis
 
Hallo,
ich hoffe hier hat noch jemand eine Idee für mich.

Folgendes Problem:
Ich muss von einem Webverzeichnis mit Include eine Datei von einem anderen Webverzeichnis laden.
(Beispiel: /var/www/clients/clients1/webxx/web/ muss eine PHP Datei vom /var/www/clients/clients1/webyy/web/ includieren)

Diese Variante funktioniert:
include'/var/www/clients/clients1/webyy/web/datei.php'

Versuche ich nun den Pfad zum Include dynamisch aufzubauen geht es nicht mehr. Wenn ich mir das Webverzeichnis aus einer Datenbank lese, dann wird die Datei nicht geladen.
include'/var/www/clients/clients1/Ergebnis aus MySQL/web/datei,php'.
Das erzeugt eine Logeintrag und es fehlt ab dem Punkt wo die Pfadinfo aus den DB stammt der gesamte Pfad.
Sieht dann etwa so aus " /var/www/clients/clients1/", und der Rest fehlt.
Ich weiß was jetzt jeder denkt... und ja ich habe den Inhalt der DB überprüft und ein Echo des Pfades auf den Bildschirm gibt diesen vollständig aus.

Schreibe ich mir das Ergebnis der SQL-Abfrage in eine txt Datei und lese diese mit fopen wieder ein, dann funktioniert mein Include mit dem Eingelesenen Teil des Webpfades wieder. Aber das kann ja nicht wirklich die Lösung sein. Also hab ich weiter versucht.

Da ich beim Aufruf der Webseite die das Include laden soll aus dem Web komme in dem das Include liegt, habe ich den Pfad dorthin verschlüsselt übergeben. Via $_GET[] eingefangen und entschlüsselt. Bei diesem Versuch erscheint bei der Fehlermeldung der gesamte Pfad im Errorlog.
include(): Failed opening '/var/www/clients/client1/webyy/web/datei.php' for inclusion ....

Da ich mit dem starren Includepfad keine Fehlermeldung bekomme schließe ich ein Rechteproblem aus.


Server:
Debian
PHP: 5.6
Ispconfig 3.0.5.4p9
Apache 2.4.10


Für Eure Hilfe wäre ich sehr dankbar!

vt1816 20.06.2017 17:40:37

AW: Include aus einem fremden Webverzeichnis
 
Da kein Code geliefert wird, geht nur:

[Glaskugel on]
Den Pfad aus der Datenbank mal mit trim() behandelt?
[Glaskugel off]

Fbuescher 20.06.2017 18:03:33

AW: Include aus einem fremden Webverzeichnis
 
Welchen Code möchtest du haben, oder anders gefragt,:
Was ist unklar an der Aussage das ein statischer include funktioniert und ein dynamischer (aus einer DB gelesen) nicht.
Wenn ich mir den dynamischen per Echo ausgebe ist er korrekt.
Wenn ich den dynamischen in eine Textdatei schreibe und von dort lese und ihn dann im includepfad verwende geht er auch.
Wenn ich den dynamischen für das include verwende, wird der Pfad abgeschnitten


Ein Leerzeichen würde ein Logeintrag erzeugen, woraus hervorgeht, dass im Pfad ein Leerzeichen ist. Was nicht grundsätzlich ein Fehler ist, da Leerzeichen im Pfad nichts außergewöhnliches sind.
Ich hingegen bekomme einen Logeintrag, der ab dem dynamischen Pfad abgeschnitten ist
Zitat:

Das erzeugt eine Logeintrag und es fehlt ab dem Punkt wo die Pfadinfo aus den DB stammt der gesamte Pfad.
Sieht dann etwa so aus " /var/www/clients/clients1/", und der Rest fehlt.
Ich weiß was jetzt jeder denkt... und ja ich habe den Inhalt der DB überprüft und ein Echo des Pfades auf den Bildschirm gibt diesen vollständig aus.

sysop 21.06.2017 12:00:53

AW: Include aus einem fremden Webverzeichnis
 
Ein chdir ins entsprechende Verzeichnis ist auch eine Idee...

Maggs67 13.03.2018 01:46:35

AW: Include aus einem fremden Webverzeichnis
 
Hallo zusammen und sorry, daß ich dies alte Thema nochmals ausgrabe. Ich habe jedoch ein ähnliches Problem, das ich nicht auf die Reihe kriege. Ganz nebenbei muss ich noch anmerken, daß ich blutiger PHP-Anfänger bin. Ich hab's so versucht:

Normal:
<?php include ("datei.php"); ?>

Vom anderen server:
<?php include ("http://www.server.de/verzeichnis/datei.php"); ?>

Ersteres funktioniert (muss ja wohl), aber bei der zweiten Variante tut sich nix. Ich habe mir nun schon überlegt, ob es an den Zugriffsrechten der Quelldatei (datei.php) liegen kann...

Weiß jemand, wie die stehen müssen, oder hat vielleicht einer ne Idee, warum das bei mir nicht funzt?

LG Maggs67

chorn 13.03.2018 07:17:22

AW: Include aus einem fremden Webverzeichnis
 
Guck dir mal die Einstellungen dafür an:

http://php.net/manual/de/filesystem.configuration.php

sysop 13.03.2018 08:59:28

AW: Include aus einem fremden Webverzeichnis
 
Hüte dich vor URL includes. Der andere User tauscht die Datei und hat dann plötzlich Komplettzugriff auf deinen Webserver.

Ich mag Verallgemeinerungen ja überhaupt nicht, aber in diesem Fall:

DAS TUT MAN NICHT!


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:17:29 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.