Relative Pfade?

Magical

Angesehenes Mitglied
Hallo,

da mir mein Hoster mal kurzerhand die includes disabled hat
mad.gif
(ohne Vorankündigung und auch ohne einen Hinweis was zu tun ist für eine weiterhin korrekte Darstellung
mad.gif
), muss ich jetzt dringend eine Lösung finden.
Ich denke mal, dass eventuell relationelle Pfade für includes möglich sind (erfahre ich hoffentlich heute abend - kann vorher nicht an meine Emails...). (so hatte es ein anderer Hoster gemacht, der mir auch vor kurzem die includes disabled hatte...)
Desegen meine Frage:
Wie kann ich den richtigen Bezug mit relationellen Pfaden hinbekommen? Ich habe die includes in Extra-Unterverzeichnissen und auch die Unterseiten in verschiedenen Unterordnern. Da teilweise Funktionen (seperater Ordner) in includierte Dateien includiert werden und die includes in verschiedenen Verzeichnisschichten eingebunden werden, habe ich dann aber ein Problem, da es dann einen nichtexistierenden Pfad aufrufen will.
Gibt es eine Möglichkeit, durch einen Aufruf ins Hauptverzeichnis zu kommen und von da aus den Pfad anzugeben?
Oder was für Optionen hätte ich noch??
Muss es irgendwie heute abend/nacht (mein Chef bei meiner Vollzeitbeschäftigung wird sich bedanken wenn die Augenringe immer größer werden...aber da muss er durch ;-) lol) wieder hinbekommen, damit ich mich dann um die weitere Aktualisierung/Ausbau/Weihnachtsaktionen kümmern kann....

Vielen Dank schonmal im voraus.

Magical :)
 
Includes nutze ich zwar nicht.

Aber normalerweise kommt man mit ../ eine Ebene höher.

Da die Seite A, die eine Seite B einbindet, den relativen Standort der Seite B kennen müßte, kann sie sich mit ../../ hinreichend häufig nach oben und dann wieder nach unten navigieren.

Variante 2 wäre, absolute Pfade in bezug auf diesen Webserver zu nutzen. Aber das könnte Probleme geben, falls dein Provider die Pfade ändert, ist also bei Webhosting keine gute Idee. Beim eigenen Server ginge das.

Die innerhalb von Webseiten verwendbare halb-absolute Adressierung '/' funktioniert hier nicht, weil die ja von außen, vom Clientbrowser aufgerufen wird.

Es könnte sein, daß Includes grundsätzlich eine Möglichkeit kennen, einen Verzeichnispfad in einer Variablen abzulegen - das würde auch genügen. Aber da ist ein Blick in die Dokumentation nötig.
 
Hallo!

Absolute includes mittels PHP, die völlig "Hosting-Neutral" sind, gehen problemlos:
QUOTE <?php include ($_SERVER['DOCUMENT_ROOT'].'/ordner/file.htm'); ?>


Wo genau das Problem beim Fragesteller liegt... k. A. zuwenig Infos (zudem habe ich einfach nur die obige Lösung vorliegen und bin kein Profi). Ich denke aber nicht dass ein Hoster von gestern auf heute "includes" abstellt.
 
QUOTE da mir mein Hoster mal kurzerhand die includes disabled hat (ohne Vorankündigung und auch ohne einen Hinweis was zu tun ist für eine weiterhin korrekte Darstellung

vermutlich hat er lediglich auf die neue php-version (5.2.x) upgedatet.
schau mal in der php.ini nach "allow_url_include" und stell es auf "on"
 
Vielen Dank für die Hinweise - das werde ich mal versuchen. :)

Sorry, wußte nicht wie ich das besser beschreiben sollte.
Den einen Morgen hatte ich plützlich eine Mail erhalten mit dem Inhalt :
"Sicherheitswarnung: allow_url_fopen in der php.ini deaktiviert"
"aufgrund aktueller Sicherheitswarnungen erhalten Sie dieses Rundschreiben.
Wir wollen Sie aber auch gleichzeitig darüber informieren, dass wir die Option allow_url_fopen in der php.ini aus Sicherheitsgründen deaktiviert haben. (Remote File Inclusion)"
"Die PHP-Anweisungen include und require (sowie include_once und require_once) dienen zum Einbinden extern gespeicherter Programmdateien in die laufende Anwendung. Die Sicherheitslücke entsteht, wenn ungenügend geprüfte Daten, die vom Benutzer eingegeben wurden, als Parameter für diese Anwendungen verwendet werden. Im schlimmsten Fall kann ein Angreifer damit sogar Programmcode, der auf einem fremden Webserver gespeichert ist, zur Ausführung bringen."
Und zusätzlich Informationen zu SQL-Injection, was man ja bereits bei der Programmierung berücksichtigt (bzw. sollten dies alle tun).

Somit wurden meine dort gehosteten Seiten mal ohne Vorwarnung nicht mehr richtig dargestellt (bzw. einige Inhalte überhaupt nicht mehr). Der Hoster hatte mir auf Nachfrage nachh mitgeteilt, dass ich den vollständigen Serverpfad angeben muss. Werde aber auch mal die von Peter vorgeschlagene Hosting-neutrale Lösung versuchen - nicht dass wieder irgendwann über Nacht etwas umgestellt wird und es dann wieder Probleme gibt.

 
allow_url_fopen
hat auf das includieren von Datei a in Datei b keinen Einfluss, solange Sie im Gleichen Hosting-Verzeichnis liegen und diese mit relativen Pfaden oder mit meiner "absoluten Lösung" angesprochen wird.

mit allow_url_fopen ermöglicht man das Einlesen von Dateien von externen Webspaces mittels http.

Wenn Ihr generell statt "/ordner/file.htm" oder "../ordner/file.htm" das folgende includiert:
"http://www.meinedomain.de/ordner/file.htm"...

...drückt das auf die Geschwindigkeit. Und falls Ihr Daten von einer dritten Person "organisiert" also
include "http:www.deinedomain.de/file.htm", dann kann die dritte Person Euch üblen Code runterschieben.

Genau hierauf zielt ja "allow_url_fopen": Das Sicherheitsloch stopfen.

Sollen die Profis hier noch deutlichere Warnungen aussprechen!

Ich hatte aber das selbe Problem auch mal beim "Parsen" von xml-Dateien. Ich konnte allerdings meinen Hoster davon überzeugen, dass diese externen Dateien aus sicheren Quellen stammen und die Berechtigungen wurden wieder erteilt...
 
Zurück
Oben