| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Apr 2005
Beiträge: 34
| Fileupload mit dynamischem Verzeichnis
Hi, ich habe leider bisher gar keine Ahnung von PHP. Aber weil ich jetzt an einem Projekt arbeite, bei dem ich einen Fileuploader brauche, habe ich damit begonnen etwas mehr darüber zu lernen. Mein Fileuploader funtioniert auch schon ohne Prolem, er ordnet alle Dateien in den Ordner /files/ im Rootverzeichnis meines Servers ein. Ich möchte jetzt aber, dass die jeweils geupte Datei in einen Unterordner von /files/ gelegt wird. Dieser soll im UI in Flash festgelegt werden können. Hier mal mein PHPscript: PHP-Code: PHP-Code: Ich würde aber die geupte Datei gerne in den Ordner legen der der Variable "upload_sname" entspricht. Diese ist in AS festgelegt und dort veränderlich. Kann ich sie mit loadVariablesNum("upload.php",0,"POST") übergeben und dann in PHP damit das entsprechende Verzeichnis anwählen? Wenn ja, könnte mir jemand den PHP-Teil umschreiben, so dass es funktionieren würde? Danke schonmal im Voraus. Ich werde das jetzt nochmal weiter probieren, bis jetzt bin ich aber am verzweifeln. |
| | |
| | #2 (permalink) |
| Keine Panik Registriert seit: Apr 2010 Ort: Düsseldorf (im ernst)
Beiträge: 1.868
|
da spielst du ein äusserst gefährliches Spiel was ist, wenn jemand eine index.php sendet, mit upload_sname=./ dann überschreibt er dir womöglich die haupt index.php, und je nach Inhalt hat er nun alle Möglichkeiten, die er will, oder er lädt eine show.php hoch, die deine PHP-Dateien, im Klartext anzeigt (beispielsweise die Konfigurationsdatei samt Passwort zu deiner Datenbank) halbwegs sicher wäre es eine begrenzte anzahl an Ordnern zu definieren, und nur eine ID zu übergeben (Zahlen, oder Buchtaben, oder Salat) in jedem Fall sollte man auch nicht von der ID direkt auf den Ordnernamen schliessen können ebenso solltest du die Dateiendungen überprüfen PHP-Code: PHP-Code: |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Apr 2005
Beiträge: 34
|
Danke thomas_E, das hat mich schonmal deutlich weitergebracht. Hat aber so noch nicht ganz funktioniert, die Datei wird irgendwie nicht in die erlaubten Verzeichnisse verschoben - leider. Ich habe gestern noch eine eigene Lösung gefunden, auch wenn sie relativ umständlich ist, sie funktioniert ohne sicherheitsprobleme, und größtenteils in flash. deine lösung wäre mir dennoch lieber, deshalb, kann es sein, dass es heißen müsste: ... if($folder = $whitelist_folders[ $_GET['upload_sname'] ]) ... und wie gesagt, ich habe nicht wirklich ahnung von php, aber wird die varible $folder jemals definiert? bevor die if abfrage stattfindet? bzw, ist die definition in der if abfrage? danke nochmal. |
| | |
| | #4 (permalink) | |||
| Keine Panik Registriert seit: Apr 2010 Ort: Düsseldorf (im ernst)
Beiträge: 1.868
| Zitat:
Zitat:
im Grunde kannst du das auch so schreiben: Zitat:
!== false //nicht false (als Boolscher Wert) !== 0 //nicht null (Zahl) !== null //nicht undefiniert !== "" //kein leerer String !== array() //kein leeres Array Edit: zum Thema Sicherheit: alles was du in Flash programmierst, kann auch ausgelesen werden es gibt verschiedene Techniken, um das zu erschweren, aber verhindern kann man es nicht. also sollte absolut nichts sicherheitsrelevantes in einem Flashfile stehen Geändert von thomas_E (07-07-2011 um 14:11 Uhr) | |||
| | |
| | #5 (permalink) |
| NCC 1701 D Registriert seit: Oct 2009 Ort: Metropolregion Hamburg
Beiträge: 588
| In PHP kannst Du Variablen definieren ab da, wo sie gebraucht werden. Und in der if Abfrage mit dem @ davor um eventuelle Fehler zu unterdrücken. @Hawke Was hast Du für einen Server oder beim Hoster, welches Betriebssystem läuft da? Geändert von speedjunkie (07-07-2011 um 20:24 Uhr) |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Apr 2005
Beiträge: 34
|
@speedjunkie ehrlich gesagt bin ich sogar da schon überfragt, ich habe einen kostenlosen webspace für bildungseinrichtungen von dem jugendnetz-berlin, der lässt an sich Perl, PHP, Python und TCL zu und hat außerdem eine MySQL-Datenbank. Aber mitlerweile habe ich eine lösung gefunden. danke für die freundlich unterstützung an alle. trotzdem habe ich eine weitere Frage, dann muss ich nicht extra nen neuen tread aufmachen: ich möchte das meine geupten dateien in dem ordner mit zahlen benannt werden, und zwar einfach hochzählend. sprich: eine datei wird hochgeladen, php ordnet sie ein und checkt dann wie viele dateien noch in dem ordner sind und benennt die letzte geupte datei dann mit x.(jpg,png,gif,etc) wobei x = anzahl der dateien + 1. kann mir da jemand helfen? |
| | |
| | #7 (permalink) |
| NCC 1701 D Registriert seit: Oct 2009 Ort: Metropolregion Hamburg
Beiträge: 588
|
Ab php5 kannst Du das Verzeichnis einfach scannen und das gibt die ein Array zurück. Unter 5 musst Du öffnen, lesen schließen. PHP-Code: |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Apr 2005
Beiträge: 34
|
ja leider. habe keine neue version von flash. sitze auf meinem flash 8 fest. reicht aber bisher immernoch. ich probiere dein script mal gleich aus. zur not habe ich aber sogar wieder eine lösung mit etwas weniger php gefunden, immer besser für mich, da ich as2 wenigstens verstehe, wenn auch nicht perfekt ![]() danke erstmal. wenn nochwas sein sollte schreibe ich. |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Fileupload | boreker | PHP und MySQL | 4 | 31-03-2010 21:30 |
| Problem mit FileUpload | Magnuss | PHP und MySQL | 4 | 25-03-2006 13:13 |
| Fileupload | kakktus | Server-Seite allgemein | 9 | 27-04-2005 06:09 |
| fileupload mit php ? | komashooter | PHP und MySQL | 12 | 17-06-2004 09:10 |
| PHP-Fileupload | eliias | PHP und MySQL | 2 | 25-08-2003 22:22 |