Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - Controllo file uploadati
Forum - PHP - Controllo file uploadati

Avatar
Qwertj (Dev Team)
Guru


Messaggi: 678
Iscritto: 30/05/2011

Segnala al moderatore
Postato alle 19:44
Martedì, 06/12/2011
Salve a tutti,
Voglio fare in modo che gli utenti (registrati) del mio sito possano uploadare dei programmi in archivi .zip.
Vorrei evitare però che l'utente possa ficcarci quello che gli pare nel file .zip e usare il mio sito come se fosse Megaupload.

Consigli?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 19:46
Martedì, 06/12/2011
Dovrai controllarne il contenuto (elimina quelli con password) e limitarne l'upload in numero e frequenza.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Qwertj (Dev Team)
Guru


Messaggi: 678
Iscritto: 30/05/2011

Segnala al moderatore
Postato alle 20:09
Martedì, 06/12/2011
La frequenza già la controllo.
Che tu sappia esistono funzioni PHP per lavorare con archivi .zip?

PM Quote
Avatar
GN (Member)
Guru


Messaggi: 772
Iscritto: 30/04/2011

Segnala al moderatore
Postato alle 20:10
Martedì, 06/12/2011
Dunque, se vuoi controllarli personalmente dovresti fare in modo che ad ogni upload il file non sia subito visibile sul tuo sito, ma visibile solo a te o eventualmente altri admin; per esempio potresti aggiungere un campo boolean al database dei files caricati che indica se il programma è ok: quando carichi i dati dal database in una pagina pubblica, filtri i dati in modo che siano visualizzati solo quelli che hanno quel campo su true; dovresti poi mettere una pagina accessibile solo al tuo account dove sono visualizzati i programmi con il campo su false, e tu cliccando un pulsante puoi farlo diventare true (un po' come succede sulla certificazione programmi di pierotofy).
Se invece vuoi che siano controllati automaticamente dal sito (per esempio i nomi dei files, le estensioni, ecc.) dovresti, a ogni upload, estrarre il contenuto dello zip tramite le funzioni descritte qui http://it.php.net/manual/en/book.zip.php in una cartella temporanea, controllare il contenuto (per esempio come spiegato qui http://www.giorgiotave.it/guida_php/controlli_file.php) e cancellare la cartella temporanea (tieni presente che se usi un hosting gratuito con spazio limitato queste operazioni potrebbero intasare il sito).

PM Quote
Avatar
Qwertj (Dev Team)
Guru


Messaggi: 678
Iscritto: 30/05/2011

Segnala al moderatore
Postato alle 20:21
Martedì, 06/12/2011
Ho controllato tra le funzioni, ma nessuna ti dice se lo zip è protetto o no

Sto creando il sito con  l'obbiettivo di avere un grosso numero di utenti e non è plausibile stare a controllare ogni file a mano :pat:
Fare un controllo automatico è difficile, perchè è difficile sapere quali tipi di file sono legittimi e quali no, contando che basterebbe cambiare l'estensione a un file per farlo passare al controllo (tipo trasformare video.avi in video.exe)

Ultima modifica effettuata da Qwertj il 06/12/2011 alle 20:22
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 23:59
Martedì, 06/12/2011
Su Unix c'e' una bella utility chiamata "file"... magari puoi estrarre l'archivio, fare una system con "file nomefile.ext", parsare il risultato e vedere se e' un file accettabile. Ah, c'e' anche una versione per Windows (ma non e' installata di default): http://gnuwin32.sourceforge.net/packages/file.htm


Il mio blog: https://piero.dev
PM Quote
Avatar
Qwertj (Dev Team)
Guru


Messaggi: 678
Iscritto: 30/05/2011

Segnala al moderatore
Postato alle 15:49
Mercoledì, 07/12/2011
Testo quotato

Postato originariamente da pierotofy:

Su Unix c'e' una bella utility chiamata "file"... magari puoi estrarre l'archivio, fare una system con "file nomefile.ext", parsare il risultato e vedere se e' un file accettabile. Ah, c'e' anche una versione per Windows (ma non e' installata di default): http://gnuwin32.sourceforge.net/packages/file.htm



Sembra sia quello che fa per me!
Ultimo dubbio: quali file dovrei accettare e quali file no?
E' difficile fare una selezione...

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 17:54
Mercoledì, 07/12/2011
Dipende da te...


Il mio blog: https://piero.dev
PM Quote
Avatar
Qwertj (Dev Team)
Guru


Messaggi: 678
Iscritto: 30/05/2011

Segnala al moderatore
Postato alle 9:40
Giovedì, 08/12/2011
Beh vedrò d'ingegnarmi
Sapete dove posso trovare una lista dei tipi riconosciuti da file?

PM Quote