Ciao!
Per evitare che l'utente carichi file troppo pesanti,è possibile sapere le dimensioni di un file prima di uplodarlo attraverso uno script cgi?
Ciao!
Per evitare che l'utente carichi file troppo pesanti,è possibile sapere le dimensioni di un file prima di uplodarlo attraverso uno script cgi?
Jo
Ciao,
no, non puoi saperle prima poichè uno script che sta sul server non può leggere il filesystem del client.
Puoi però impedire che vengano caricati files che superano certe dimensioni, ad esempio:
use CGI;
$CGI::POST_MAX=1024 * 100; # max 100K
Marco Allegretti
shishii@tiscalinet.it
Lang: PERL, PHP, SQL.
Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips
ciao!
Ok il controllo sulla dimensione una volta uplodato il file lo fatta, ma quali
misure di sicurezza dovrei adottare per evitare che un utente faccial'upload di file strani... che possano danneggiare il webserver ho il sito.
(Sto facendo un programma che dia la possibilità agli utenti di caricarsi le propie foto che verranno ridimensionate da un cgi e visualizzate in un area del sito utilizzo Image::Magick)
Grazie ciao!
Jo
ammettendo che tu debba fare caricare solo file JPEG, basta che tu faccia controllare al sistema che lo siano.
Ad esempio:
$file_uplodato = "./img.jpg";
$verifica = `file -b $file_uplodato`;
if ($verifica =~ /^JPEG\b/i) {
ok
}
else {
errore
}
il programma "file" verifica un file nel contenuto e non per l'estensione.
Marco Allegretti
shishii@tiscalinet.it
Lang: PERL, PHP, SQL.
Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips