php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 1,00 durchschnittlich.
Alt 03.12.2008, 20:23  
Benutzer
 
Registriert seit: 16.10.2008
Beiträge: 41
malungo befindet sich auf einem aufstrebenden Ast
Standard Multiple File Upload Sicherheit/Wieder löschen

Hi Zusammen!

Ich hab mal wieder ein Problem

Ich baue gerade einen Dateiupload. Speziell will ich den für Fotos verwenden.

Wenn jetzt ein User eine Datei/Dateien an mein Affenformular hängt und es absendet aber z.B. die Beschreibung dazu vergessen hat, dann soll die Datei nur 1x hochgeladen werden also quasi bestehen bleiben wenn das Formular mit der Fehlermeldung angezeigt wird.

Nun habe ich mir folgendes gedacht:
Ich speichere den Dateiname und den TMP-Namen in der Session ab.

PHP-Code:
$_SESSION['reqfiles'][$id]['name'] = $_FILES["files"]["name"][$id];
$_SESSION['reqfiles'][$id]['tmp_name'] = $_FILES["files"]["tmp_name"][$id]; 
Im Formularaufbau selbst frage ich dann ab ob $_SESSION['reqfiles']['$id'] gesetzt ist, wenn ja, dann biete ich ne checkbox an zum löschen der Datei.

Ist diese Checkbox beim Absenden gesetzt lösche ich das entsprechende Array in der Session wieder.

Wenn alle Daten korrekt befüllt sind kann ich nach dem Insert der Beschreibung in die DB die Datei anhand des TMP-Namen in der session in ein bestimmtes verzeichnis schieben...

Soweit so gut. Funktioniert wunderbar.

Frage 1:
Muss ich die tmp-Datei per Hand löschen (zus. zum löschen der Werte in der SESSION, oder erledigt das der Webserver/Garbage Collector von selbst).
Wenn ichs selbst löschen muss, muss ich wahrscheinlich ziemlich vorsichtig sein, nicht dass mir jmd. einen invaliden Dateinamen o.ä. einschleust der auf ein PHP-Skript o.ä. verweist?!

Findet ihr das Vorgehen mit der Speicherung des Namen in der SESSION ok, oder gibts eine bessere Lösung?

Frage 2:
Sicherheitstechnisch prüfe ich den Dateinamen auf ungültige Zeichen und prüfe den Dateityp (nur Bilder sind erlaubt).
Reicht das? Oder habe ich was wichtiges vergessen? Includieren will ich die Grafiken dann nicht in ein PHP skript sondern lediglich mit dem IMG Tag auf einer Seite ausgeben...

Frage 3:
Wie erreiche ich dass ALLE hochgeladenen Bilder eine einheitliche Größe haben...z.B. 300x300. Wie ich resize weiß ich...aber stimmt dann auch das seitenverhältnis? Gibts hier ne elegante und schnelle methode?


Frage 4:
Es gibt ja auch die Möglichkeit die Bilder in der DB speichern...will ich aber eigentlich nicht machen, da sonst die DB irgendwann explodiert.
Hätte die Speicherung in die DB einen Vorteil/Nachteile?
Ich will sie in ein eigenes Verzeichnis stellen...mit einer unique-id. Bei einigen Webprojekten habe ich gesehen, dass die sogar md5 hashes für den dateinamen vergeben... (z.B. myhammer)
Was hat das für einen Grund? unique-id reicht doch normal völlig aus?

Danke für Eure Anregungen!

Grüße,
Malungo
malungo ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 03.12.2008, 20:43  
Erfahrener Benutzer
 
Benutzerbild von taurus
 
Registriert seit: 01.11.2008
Beiträge: 821
PHP-Kenntnisse:
Anfänger
taurus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Wenn jetzt ein User eine Datei/Dateien an mein Affenformular hängt und es absendet aber z.B. die Beschreibung dazu vergessen hat, dann soll die Datei nur 1x hochgeladen werden also quasi bestehen bleiben wenn das Formular mit der Fehlermeldung angezeigt wird.
wenn er die beschreibung nicht vergessen hat, was dann?
und was für eine fehlermeldung?

wäre gut zu wissen was du mit einer session bezweckst....
taurus ist offline  
Alt 03.12.2008, 20:55  
Benutzer
 
Registriert seit: 16.10.2008
Beiträge: 41
malungo befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von taurus Beitrag anzeigen
wenn er die beschreibung nicht vergessen hat, was dann?
und was für eine fehlermeldung?

wäre gut zu wissen was du mit einer session bezweckst....
Wenn Beschreibung vergessen, dann Fehlermeldung:
Bitte geben Sie eine Bildbeschreibung an.

Andernfalls OK=> Schreibe Bildbeschreibung und Dateiname des Bildes in die DB.
Verschiebe Bild in den Zielordner.

Session brauch ich sowieso für loginsystem...hab mir gedacht ich könnte hier die Daten global halten.
Denn ich will ja im Affenformular nach Absenden aber vergessener Beschreibung den Dateinamen der schon hochgeladenen Datei anzeigen lassen...und dem User die Möglichkeit geben die Datei wieder zu löschen...
malungo ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
HTML: File Upload: Maske moeglich? SvenLittkowski HTML, Usability und Barrierefreiheit 4 28.08.2007 23:41
Problem mit File Upload b++ PHP Tipps 2006 2 26.04.2006 20:35
File Upload tomtaz PHP Tipps 2006 1 19.04.2006 14:58
file upload & bilder resize PHP Tipps 2006 3 15.02.2006 18:56
[Erledigt] File Upload mit mehreren Files PHP-Fortgeschrittene 16 16.01.2006 12:07
File Upload Server, Hosting und Workstations 2 24.05.2005 17:07
update auf php 5.0.4 robo47 Server, Hosting und Workstations 6 10.04.2005 19:00
File Upload PHP Tipps 2005 5 27.03.2005 17:44
file vom server löschen per php $$$ ThiKool $$$ PHP Tipps 2005 3 06.01.2005 18:51
File upload / Ändern Datensatz Datenbanken 0 28.12.2004 15:40
file upload + und pic gleichzeitig verkleinern PHP Tipps 2004-2 3 16.12.2004 08:09
Problem mit File Upload PHP Tipps 2004-2 2 19.11.2004 13:41
[Erledigt] file upload PHP-Fortgeschrittene 4 29.10.2004 13:07
File upload PHP-Fortgeschrittene 3 23.08.2004 17:16
[Erledigt] File Upload: PRoblem mit Upload directory PHP Tipps 2004 3 26.06.2004 13:20

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
file upload löschen, multiple file upload, php multiple file upload, datei upload löschen, multiple file upload php, file-upload löschen, php upload sicherheit, php upload löschen, datei upload mit löschen, bilder upload löschen, php datei upload löschen, upload sicherheit, file upload mit löschen, fileupload löschen, file upload datei löschen, http://www.php.de/php-tipps-2008/49546-multiple-file-upload-sicherheit-wieder-loeschen.html, fileupload file löschen, fileupload datei löschen, php upload file löschen, filefront upload löschen

Alle Zeitangaben in WEZ +1. Es ist jetzt 21:20 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum