Ankündigung

Einklappen
Keine Ankündigung bisher.

Ist meine Navigation sicher?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Z.B. das Filesystemzugriffe in dieser Größenordnung total inperformant sind.

    !isset($Section) sollte sinnvollerweise immer die erste Bedingung einer OR-Verknüpfung sein.
    .inc ist übrigens eine sehr schlechte Extension, weil sie nicht PHP-geparst wird und, sobald direkter Zugriff auf das Verzeichnis möglich ist, das File gelistet, statt vorher durch PHP verbeitet wird.
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar


    • #17
      Guten morgen und danke für die Antwort,

      Den Tipp mit !isset nach vorne bringen hab ich gleich umgesetzt und ist auch verständlich.

      Ich habe gelesen, das so eine Funktion für eine komplexe/tiefverschachtelte Dateistruktur wohl eher ungeeignet ist. Ich lese eine Struktur ein, welche maximal zwei Ebenen hat (also worsed case: content/Unterordner/Datei.inc). Ein anderer Ansatz war, dass meine Seite nur ein Datenbank-update macht, wenn ich eine neue Seite hinzufüge. Die Überprüfung findet dann mit der Datenbank statt, was wohl eine weitaus bessere performance bietet oder?

      Zur Dateiendung: Der Inhalt der *.inc Dateien ist zwar nur HTML aber ich hab nicht daran gedacht, dass ein Zugriff direkt drauf erfolgen kann. Werd ich auch ändern, danke für den Tip.

      mfg Nab

      Kommentar


      • #18
        PHP-Code:
        include('/var/www/web1/'.$_GET['content'].'.inc'); 
        Und dann überprüfen, ob die Variable Punkte enthält. Somit kann man weder die Dateiendung verändern noch kommt man aus dem Verzeichniss /var/www/web1/ heraus.

        Und was magic_quotes betrifft, sollte man sich vielleicht diesen kurzen Hinweis zu Herzen nehmen:

        http://php.net/manual/de/security.magicquotes.php

        Kommentar


        • #19
          Und was magic_quotes betrifft, sollte man sich vielleicht diesen kurzen Hinweis zu Herzen nehmen:

          PHP: Magic Quotes - Manual
          Dann würde ich gleich ergänzen, das HTTP_GET_VARS genauso veraltet sind.
          [COLOR="#F5F5FF"]--[/COLOR]
          [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
          [COLOR="#F5F5FF"]
          --[/COLOR]

          Kommentar


          • #20
            Oopops.

            Danke für den Hinweis. Hab´s ausgebessert.

            Kommentar


            • #21
              Was aber auch noch eine schnelle Lösung mit einer Whitelist wäre: Du gibst den Dateien einfach eine Anfangskennung.

              z.B.: cnt_datei1.php, cnt_datei2.php, cnt_datei3_php

              Somit bräuchtest du keine manuellen Einträge in der Whitelist vornehmen. Fängt die zu includende Datei dann nicht mit cnt_ an, bricht das Script ab und bindet die Datei nicht ein. Somit könnte man auch verhindern, dass ungewünschter Dateien eingebunden werden.

              Kommentar

              Lädt...
              X