Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    70

    vietare l'upload di file .php

    ciao a tutti,
    ho implementato sul mio sito ( hosting linux ) l'upload di file.

    solo ora mi è venuto un bel dubbio! ... e se qualcuno fa l'upload di file php ?

    come faccio a bloccarlo ? io di php non so nulla..

    se aggungessi qualcosa così ? :

    if ($_FILES['Filedata']['size'] > 1080432)
    {
    $msg = "

    Il file non deve superare i 18 KB!!</p>";
    break;
    }

    questo che ho trvato è ok per la dimensione, ma per l'estensione come si fa ??

    che tipo di estensioni dovrei bloccare oltre a quelle .php ?!?


  2. #2
    Puoi fare un controllo sul nome del file contenuto in $_FILES['Filedata']['name'].

    Dovresti bloccare qualsiasi estensione interpretata dal web server (es. .php, .phtml, .cgi, .pl, etc.) e quelle che potrebbero essere usare per attacchi XSS e fishing (es. .js, .html, .htm, etc.). Puoi mettere tutte le estensioni "non permesse" in un array e poi utilizzare in_array().

    Ad ogni modo sarebbe meglio creare una white list (al posto della black list) in cui inserisci SOLO le estensioni permesse (es. .jpg, .gif, etc.). E' un metodo più sicuro.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    70
    grazie per la risposta,
    l'idea è ottima, ma per me che so programmare solo in asp, è un impresa a scrivere quello che hai detto.

    non è che mi puoi dare il pezzo di codice da implementare,.. ?
    o dirmi dove posso trovare quello che fa al caso mio ?

    grazie mille

  4. #4
    Studiati questo codice:

    Codice PHP:
    <?php 
    $_FILES
    ['Filedata']['name'] = 'crack.php'// giusto per test 

    $valid_extensions = array('.jpg''.gif''.bmp');

    $filename $_FILES['Filedata']['name'];

    $ext substr($filenamestrrpos($filename'.'));
    if (!
    in_array($ext$valid_extensions)) {
        
    $msg "

    Estensione non valida!!</p>"
    ;
        
    // break; // quando integri il codice nel tuo script, elimina // dall'inizio di questa riga
    }

    echo(
    $msg); // giusto per verifica
    ?>

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    70
    wow, grazie mille,
    funzione pefettamente
    ora mi sento + tranquillo!

    grazie !

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 © 2025 vBulletin Solutions, Inc. All rights reserved.