Visualizzazione risultati 1 fino 3 di 3

Discussione: Errore nel negare il download diretto di un file

  1. #1
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Unhappy Errore nel negare il download diretto di un file

    Ciao a tutti.
    Cercando su internet, ho trovato un modo per non fare scaricare un file in modo diretto tramite PHP e .htaccess.
    Ecco i due files:
    Codice:
    <Files ~ ".crx+">
    Order allow,deny
    Deny from all
    Satisfy All
    </Files>
    Codice PHP:
    <?
    $id_file
    = (int) $_GET['id']; // id del file
    if($_SERVER['HTTP_REFERER']=="http://miosito.altervista.org/Cartella/?id=".$id_file){
    $nome_file = // ricavo il nome del file tramite mySql
    $dimensione = filesize($nome_file);

    header("Content-Type: application; name=".$nome_file);
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".$dimensione);
    header("Content-Disposition: inline; filename=".$nome_file);
    header("Expires: 0");
    header("Cache-Control: no-cache, must-revalidate");
    header("Cache-Control: private");
    header("Pragma: public");

    readfile($nome_file);
    echo
    "FILE SCARICATO CORRETTAMENTE";
    }else{
    header("Location: index");
    }
    ?>
    Se provo a scaricare il file direttamente me lo nega ma se provo a scaricarlo tramite la pagina di download mi dice soltanto "FILE SCARICATO CORRETTAMENTE".
    Dove sta l'errore?
    Grazie.

  2. #2
    Guest

    Predefinito

    Credo debba aggiungere l'header:
    Codice PHP:
    header("Content-Disposition: attachment; filename= " . $nome_file);

  3. #3
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Ciao e grazie per la risposta, ho sostituito attachment a inline come mi hai detto tu e funziona.

    Altro problema (non è urgente ma mi servirebbe): Google Chrome, quando rileva il download di un file .crx (ovvero un'estensione per Chrome) esegue automaticamente l'installazione, invece in qusto modo il file si scarica solamente. Se invece elimino .htaccess e metto un link diretto parte l'installazione (c'è differenza tra installazione e download).
    Ho chiesto nella sezione webmasters del forum di Google ma non ho ottenuto risposta: sai come potrei fare?
    Credo di essermi spiegato malissimo: in questo caso te lo rispiego con qualche esempio.

    Grazie ancora per il problema risolto.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •