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! |
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] |
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:
|
AW: Include aus einem fremden Webverzeichnis
Ein chdir ins entsprechende Verzeichnis ist auch eine Idee...
|
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 |
AW: Include aus einem fremden Webverzeichnis
|
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 13:41:22 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.