Ich habe einen Explorer mit einem Editor zusammengebastelt und will nun das Verzeichniss in dem dieser liegt schützen, so das man mit dem Editor nicht in meinem Quellcode rumschreiben kann.
Das Verzeichniss und die Datei werden jeweils einzeln von dem script per GET übertragen. ich habe schon einen schutz versucht, doch eine riesige Sicherheitslücke drin entdeckt.
[php]if(substr($dir, 0, 7) == „…/esa/“){$dir = „…/“;}[/php]Doch wenn man jetzt in der Browserleiste eingibt
dir=…/testortner/…/esa oder
dir=.
kann man doch auf die Dateien zugreifen.
Hat jemand eine Idee, wie man das Script richtig sicher bekommt? Ich würde ungerne dabei auf die ordnerübergabe mit GET verzichten, weil darauf jetzt schon alle Funktionen und Scripte eingestellt sind.
Und vielleicht ist es später mal sinnvoll noch weitere Ordner vor den Kunden zu schützen
es tut mir leid nightmare, aber ich würde es auf POST umstellen, weil später wirst du mit get noch einige probleme haben , und dann wirst du noch mehr ändern müssen.
Vllt. mit .htaccess? Oder du machst eine Blacklist mit allen Ordnern, auf die der User nicht zugreifen darf (bzw. Whitelist mit allen erlaubten Ordnern). Dann kannst du mit [phpnet]strstr[/phpnet] überprüfen, ob die Usereingabe erlaubt ist.
@incendium: Was sollte eine Umstellung auf POST bringen??
Den Unweigerlichen Vorteil von GET ist in diesem Fall ganz einfach, in dem Script gibt es noch mehr Funktionen als nur den Editor und den Explorer, und immer wird der dir= mitübergeben, so das ich eben mal was in einer Datenbank nachgucken kann und dann auf Explorer klicke bin ich wieder im selben Verzeichniss.
Aber ich habe schon eine idee, ich erstelle eine datei wie (noedit) und wenn der Browser oder explorer auf eine solche stößt, rutscht er automatisch ein Verzeichniss tiefer oder gibt eine Fehlermeldung aus…
Die Idee mit der htacess oder witelist war gut, aber so kann ich jetzt auch alle Dateien im Explorer zum Download anbieten , weil vorher wieder überprüft wird, ob da eine (noedit) steht…