misterunknown: Hyperlink setzen Verkettete Auswahllisten

Beitrag lesen

Moin,

Das ist sicherheitstechnisch fehlerhaft, weil es sämtliche lesbare Dateien auf dem Server ausliefern kann. Es fehlt beispielsweise eine Überprüfung, dass der realpath() des Dateinamens mit dem beabsichtigten Download-Verzeichnis beginnt.

Korrekt. Deshalb ist es, wie ich schon geschrieben habe, nur zur Veranschaulichung in einer lokalen Testumgebung zu benutzen.

Außer der Überprüfung eines gewollten Downloadverzeichnisses mit realpath() kann es _je nach Anwendungsfall_ noch sinnvoll sein
  - sämltliche .ht-Dokumente vom Download auszuschließen
  - PHP-Dateien vom Download auszuschließen (da der source code von PHP-Dateien zurückgegeben würde)
  - den Dateinamen auf ein bestimmtes Pattern zu prüfen ( myproject-[0-9]+.[0-9]+.zip )

Aber das ist alles Code, der weitere Fehlerquellen beinhalten kann, sodass es IMO am sinnvollsten ist, mit einem Minimalbeispiel zu beginnen, und auf Sicherheit zu achten, wenn man das Skript verstanden hat. Außerdem ist die Gefahr gering, dass dieses Schnipsel jemand per copy&paste verwendet, da erstens die Sicherheitsmängel offensichtlich sind, und ich zweitens auch darauf hingewiesen habe.

Grüße Marco

--
Ich spreche Spaghetticode - fließend.