Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    220

    Upload-Controllo estenzione files

    Ciao a tutti, ho questo codice per l'upload che fa in modo che possano essere mandati sul server solo 4 tipi di file:
    codice:
    $allowed_types = array("image/gif","image/x-png","image/pjpeg","image/jpeg");
    if(!in_array($_FILES["upfile"]["type"],$allowed_types)) {
    die("Il file non è di tipo consentito!");
    }
    Mi sono accorto però che posso inviare ad esempio un file di tipo nomefile.exe.gif
    Vorrei se possibile fare in modo che ciò non accada... vorrei far passare solo i file definiti nell'array, niente doppie estenzioni.
    Come posso fare?

  2. #2
    sinceramente non vedo il problema, ho testato prendendo un file .exe e aggiungendo .gif ma $_FILES["upfile"]["type"] rimane 'application/octet-stream', lo stesso che quello che normale .exe, dunque anche se è un .exe ridefinito con .gif o altro il $_FILES["upfile"]["type"] dovrebbe funziona comunque (o almeno da me funziona).

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    220
    Ho riprovato rinominando il file in nomefile.gif.exe e l'upload viene permesso lo stesso!
    E questo penso sia anche più grave...

  4. #4
    if(substr($file,-3)=='jpg')
    $file_php[] = $file;
    Il mio sito: CIONCO.ALTERVISTA.ORG
    Lloyd Bank$
    I roll with the gangstas don't get fly with your mouth
    The wrong punchline'll have niggas inside of your house

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    212
    oltre a controllare il tipo controlla anche l'estensione:
    codice:
    $extension = end(explode(".", $_FILES['upfile']['name']));
    $extension = strtolower($extension);
    switch ($extension) {
        case "gif":
             ok ...
    }
    scusa bgp avevo il thread aperto

  6. #6
    Originariamente inviato da djteschio
    Ho riprovato rinominando il file in nomefile.gif.exe e l'upload viene permesso lo stesso!
    E questo penso sia anche più grave...
    ma come...
    il file rinominato sicuro che fosse un exe?
    :gren: (-: SMiLe!!! ;-) :gren:
    In Google We Trust

    "corri, il futuro non ti aspetta!" -- SMiLe(2004)
    ex-banned

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    220
    Si, ho fatto le prove rinominando il file da nomefile.gif a nomefile.exe.gif ed infine a nomefile.gif.exe, il risultato e che vengono passati lo stesso anche se non dovrebbe...

    Adesso stavo guardando i codice che mi ha inviato KUBA... ma facendo così sono costretto ad elencare tutti i tipi di file non concessi... io vorrei solo elencare i 4 tipi concessi...

  8. #8
    guarda che se invii un file gif, anche se lo rinomini in .exe, rimane un file gif!
    il massimo della pericolosità è che forse il browser non lo riconosce
    :gren: (-: SMiLe!!! ;-) :gren:
    In Google We Trust

    "corri, il futuro non ti aspetta!" -- SMiLe(2004)
    ex-banned

  9. #9
    Originariamente inviato da djteschio
    Adesso stavo guardando i codice che mi ha inviato KUBA... ma facendo così sono costretto ad elencare tutti i tipi di file non concessi... io vorrei solo elencare i 4 tipi concessi...
    no, basta che metti
    Codice PHP:
    $extension end(explode("."$_FILES['upfile']['name']));
    $extension strtolower($extension);
    if (
    $extension!='gif' && $extension!='jpg' )
    {
    die(
    'tipo di file non consentito!');

    :gren: (-: SMiLe!!! ;-) :gren:
    In Google We Trust

    "corri, il futuro non ti aspetta!" -- SMiLe(2004)
    ex-banned

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    220
    Perfetto! Grazie mille!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.