Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    292
    in caso di upload classico ci sono errori?

    nel secondo caso, recuperari il file in questo modo
    $input = fopen("php://input", "r");

    dopo crei una copia temporanea:
    $temp = tmpfile();
    $realSize = stream_copy_to_stream($input, $temp);

    quindi prova a passare alla getimagesize($path_temp) il path della variabile $temp
    o comunque dovresti fare una cosa del genere, creare una copia temporanea del file e passare il path di quest'ultima alla getimagesize

    EDIT
    potresti anche fare una prova direttamente così: getimagesize("php://input");
    ma non ti assicuro che funzioni

  2. #12
    L'altro tipo di upload probabilmente lo usa dopo aver fatto il crop quindi passato questo step potrò vedere se funziona

    Allora ho fatto come dicevi tu:

    Codice PHP:
    #apro il file
    $input fopen("php://input""r");

    #creo un file temporaneo
    $temp tmpfile();
    # copio il file letto in quello temporaneo
    $realSize stream_copy_to_stream($input$temp);

    # ora avrò in $temp la copia del file... 
    ma per recuperarmi la cartella a questo punto ho provato con:

    $path_temp = pathinfo($temp['name']);

    e anche con

    $path_temp = pathinfo($temp);

    ma non mi esce niente..

  3. #13
    EDIT potresti anche fare una prova direttamente così: getimagesize("php://input"); ma non ti assicuro che funzioni
    Questo Funziona!!!!

  4. #14
    Mi esegue correttamente l'upload!

    Ora ti chiedo... per controllare che non mi uploadino shell, va bene questo controllo del "mime", cosa ci potrei integrare?

  5. #15
    Io ho modificato in questo modo il richiamo :

    Codice PHP:

          
    if (isset($_GET['qqfile'])) {             
            
    $this->file = new qqUploadedFileXhr();  
            if(!
    $this->file->validate()){
                
    $this->file false;     
            }
          } elseif (isset(
    $_FILES['qqfile'])) {             
            
    $this->file = new qqUploadedFileForm(); 
            if(!
    $this->file->validate()){
                
    $this->file false;     
            }
          } else {             
            
    $this->file false;          
          } 
    E così nel caso io invii una falsa immagine o una shell sembrerebbe non uploadarla nel server...
    Però in firebug nella chiamata vedo un errore:
    codice:
    POST http://localhost/_mySite/_impostazio...qfile=1www.jpg
    fileuploader.js (riga 1204)
    "NetworkError: 404 Not Found - http://localhost/_mySite/_userAccoun...=1329228031859"
    undefi...8031859
    
    POST http://localhost/_mySite/_impostazio...oader/crop.php
    jquery.min.js (riga 4)
    "NetworkError: 404 Not Found - http://localhost/_mySite/_userAccoun.../311/undefined"
    undefined
    perchè chiaramente non trova l'immagine nel server..
    lascio così oppure c'è il modo tipo di non farlo andare avanti nel caso in cui gli restituisca false?

  6. #16
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    292
    ciao webking,
    oltre controlare il mime che può essere falsificato, controlla sempre l'estensione, io di solito uso una whitelist ed una blacklist.
    il file lo salvo sempre con nome random archiviato in DB, nello specifico utilizzo la md5(), salvo il file in una cartella con nome sempre random (se c'è la possibilità la cartella andrebbe creata al di fuori della web root), e faccio in modo che le immagini vengano poi visuallizzate con uno script php, per far in modo che non si venga a conoscenza del nome della cartella e tantomeno del file, questo per far sì che, anche in caso di upload di una shell, non trovino il percosro per eseguirla.

    Per quanto riguarda gli errori ci sarebbe da capire a cosa si riferiscono.

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