Pagina 2 di 2 PrimoPrimo 12
Visualizzazione risultati 31 fino 34 di 34

Discussione: [PHP] URL "crittografato"

  1. #31
    Guest

    Predefinito

    Citazione Originalmente inviato da TurkoSoft
    ho editato il mio precedente messaggio #28
    Io il problema lo risolverei in altro modo.

    Il file lo rinomini con un hash; ad es:

    $nomefile = "nomeverochefaivedereagliutenti.rar";
    $hash = md5("Turko" . md5($nomefile));

    Poi rinomini il file con l'hash; quando l'utente richiede il file con id = 123456, che corrisponde a "nomereale", ti ricalcoli l'hash e gli mostri in output il contenuto del file (che prendi dal file che ha come nome l'hash) presentandolo con il nome reale .

    PS: Naturalmente cambia la prima parte per la creazione dell'hash, in caso contrario chiunque potrà calcolarsi l'hash e scaricarsi i file .

    Bye
    Ultima modifica di AngelinoAnt : 21-12-2006 alle ore 17.34.42

  2. #32
    Guest

    Predefinito

    @ angelinoant: bellissimo, proprio ciò di cui avevo bisogno... ma potresti aiutarmi cn la creazione del codice?
    come faccio poi a mandare l'output? con un echo?
    come faccio a calcolarmi l'hash?
    cosa devo mettere al posto di Turko?


    grazie

    EDIT: ho provato così, però non viene...
    Codice PHP:
    <?php

    $nomefile
    = "download/archivio.rar";
    $hash = md5("TurkoSoft" . md5($nomefile));

    echo
    "<center>&bull; <a href=\"http://turkosoft.org/$nomefile\">CLICCA QUI PER EFFETTUARE E COMPLETARE IL DOWNLOAD</a> &bull;</center>";
    ?>
    in cosa sbaglio?

    grazie dell'aiuto
    Ultima modifica di TurkoSoft : 21-12-2006 alle ore 18.19.31

  3. #33
    Guest

    Predefinito

    Citazione Originalmente inviato da TurkoSoft
    @ angelinoant: bellissimo, proprio ciò di cui avevo bisogno... ma potresti aiutarmi cn la creazione del codice?
    come faccio poi a mandare l'output? con un echo?
    come faccio a calcolarmi l'hash?
    cosa devo mettere al posto di Turko?


    grazie
    cosa devo mettere al posto di Turko?

    Pure l'incipit della divina commendia, basta che quella parte la conosci solo tu

    come faccio poi a mandare l'output? con un echo?

    No, devi giocare con header e readfile; ecco un esempio di php.net

    <?php
    header('Content-Type: application/octet-stream');

    // It will be called downloaded.pdf
    header('Content-Disposition: attachment; filename="downloaded.pdf"');

    // The PDF source is in original.pdf
    readfile('original.pdf');
    ?>

    con readfile devi leggere il contenuto del file col nome modificato; al posti di downloaded.pdf metti il nome reale e come content-type il mimetype del file


    Per il resto del codice.. ti ho riassunto cosa fare e ti ho postato brandelli di codice, il resto puoi farlo tu

    Bye.

    EDIT: Il rename del file lo devi fare quando inserisci il download e ti crei l'array con la corrispondenza "nomefile" - "hash". Mentre il codice per ripescare il file e ridargli il nome corretto deve stare in una pagina a se stante

    EDIT2: ti ho corretto il codice per permetterti di far salvare il file senza preoccuparti del mimetype
    Ultima modifica di AngelinoAnt : 21-12-2006 alle ore 18.25.27

  4. #34
    Guest

    Predefinito

    Citazione Originalmente inviato da AngelinoAnt
    EDIT: Il rename del file lo devi fare quando inserisci il download e ti crei l'array con la corrispondenza "nomefile" - "hash". Mentre il codice per ripescare il file e ridargli il nome corretto deve stare in una pagina a se stante
    questo pezzo non l'ho capito... ho fatto così [adesso vedo se funziona]
    Codice PHP:
    <?php

    $nomefile
    = "download/archivio.rar";
    $hash = md5("ciao" . md5($nomefile));

    header('Content-Type: application/octet-stream');

    header('Content-Disposition: attachment; filename="archivio.rar"');

    readfile('download/archivio.rar');

    ?>
    Ultima modifica di TurkoSoft : 21-12-2006 alle ore 18.42.02

Pagina 2 di 2 PrimoPrimo 12

Regole di scrittura

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