Ergebnis 1 bis 5 von 5

Thema: [PHP] URL überprüfen ob URL = Datei oder Ordner

  1. #1

    [PHP] URL überprüfen ob URL = Datei oder Ordner

    Ist es möglich eine URL zu überprüfen, ob es sich bei der URL um einen Ordner oder um eine Datei hält?
    http://x.y/test/ <- Ordner
    http://x.y/test <- Das kann alles mögliche sein, Ordner oder Datei

    Kleines Beispiel:
    Eine Textdatei
    Die selbe Textdatei, jedoch als Ordner deklariert
    Gehen wir davon aus, das die Textdatei in wirklichkeit ein Ordner ist und per /CongreessOrga.txt aufgerufen werden kann (= Ordnername). Wie wäre das Feststellbar per PHP?

  2. #2
    Wenn du über das lokale Dateisystem zugreifst per is_dir(). Andernfalls (sprich: Zugriff über HTTP) müßtest du eine Anfrage stellen und die Antwort des Servers untersuchen.

  3. #3
    Zitat Zitat von Jesus_666
    Wenn du über das lokale Dateisystem zugreifst per is_dir(). Andernfalls (sprich: Zugriff über HTTP) müßtest du eine Anfrage stellen und die Antwort des Servers untersuchen.
    Das ist schlecht, da die Daten im Internet liegen und x-beliebig sind.
    Das Problem an der ganzen Sache ist, dass Deine Idee nicht viel durch die x-beliebigkeit bringen wird (die Idee hatte ich auch schon ) -> Beispiel wäre der CCC oder mein CMS (momentan auf Eis, recode in den Ferien) - es werden nicht vorhandene "Pseudo- Ordner" zur navigation verwendet.
    In Reinform wäre das so: german.php/Hauptseite ist in Wirklichkeit nur eine german.php Seite mit explode() oder dem passendem PHP Modul (welches afaik meistens deaktiviert ist).
    Das Problem an Seiten mit dieser Technik: 404 Seiten kann man nicht sonderlich gut verwerten. Wenn im HTML dann 404 und "Error" oder "Seite nicht gefunden" steht ist das ganze noch relativ machbar - aber auch schon relativ aufwendig.

  4. #4
    Soweit ich weiß ist sowas kaum machbar. Auch wenn du die URL und die Seite überprüfst, kann man dich noch austricksen. Ob du ein echtes Dokument aufrufst, oder ob du dieses Dokument z.B. über htaccess oder eine 404-Seite vorgegaukelt bekommst, lässt sich quasi nicht überprüfen. Eventuell kann man sowas aber in der direkten Antwort des Servers erkennen.
    Dafür wäre es hilfreich per Socket eine HTTP-Anfrage zum Server zu senden und die Antwort auszuwerten. Aber ob das nun wirklich viel nützt, weiß ich nicht (müsstest dir mal eine HTTP-Dokumentation anschauen). Wäre auf jeden Fall viel Aufwand und wahrscheinlich gibt es immer einen Trick, mit dem man deine Methode austricksen kann. Daher würde ich mich damit abfinden, dass man nicht weiß, ob eine URL auf einen Ordner zeigt oder nicht.

    freundliche Grüße, Rolus

  5. #5
    Du könntest für jeden Server eine Mail an den Admin schicken und um read-only FTP-Zugriff bitten. Ansonsten gibt es kaum eine wirklich sichere Möglichkeit, sofern du nicht gerade sämtliche bekannten Exploits durchprobierst, um Zugriff auf die Dateisysteme zu erlangen.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •