Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: e-commerce di file

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509

    e-commerce di file

    ciao a tutti.
    sto cercando di realizzare un e-commerce di file(mp3,ebook,foto, etcc..)
    solo che sono un po perplesso sul 'come' gestire i prodotti.

    fin tanto che è un prodotto fisico l'acuisto è semplice.
    ma quando si tratta di file di vario genere mi sorge un dubbio,
    come gestire i file caricati sul server e impedire magari furti degli stessi?
    o la scadenza per l'accesso alla cartella?

    avevo pensato di caricare i vari file in una cartella principale.

    quando un utente si registra e fa un acquista creo un cartella con un nome generico (magari con un riferimento all'id dell'utente) dove vengono caricati i file che ha comperato.

    in questo modo posso andare a leggere il contenuto della cartella per mostrare cosa ha acquistato..

    unico dubbio è che se( ipotesi assurda) venissero vendute 1000 immagini da 3 mb in un mese, la cartella del e-commerce peserebbe attorno ai 3gb e con il tempo salirebbe in maniera sproporzionata rispetto al valore effettivo.

    che fare? qualche consiglio?
    esiste un modo per far si che da una cartella il singolo utente posso vedere e prelevare solo certi file e quindi impedirgli di scrivere il nome di un'altro file e scaricarselo?

    grazie in anticipo per le eventuali risposte

  2. #2
    la cartella la metti inaccessibile dall'esterno..e ne fai una

    poi fai una pgina in php per gestire il download dei file, dove quindi puoi facilmente consentire il download dei file giusti, controllando id utente etc e controllando nel database che l'utente possa scaricare il determinato file

    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    grazie per la risposta

    alla fine piu o meno pensandoci ci ero arrivato.
    avevo fatto una cosa simile(senza controllo utente) per permettermi di fare il download automatico di file txt che purtroppo explorer anziche scaricarli li apre...
    e mi ero dimenticato di averlo fatto 2 settimane fa


  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    una cosa non ho capito, quando dici rendi la cartella inaccessibile dall'esterno e ne crei una.

    io avrò la cartella con tutti i file.che ovviamente se provo a scrivere

    www.miosito.it/cartella/

    risulterà una pagina di errore perchè la pagina non esiste.

    per il download dei file sarà un link accessibile dall'area utente tipo

    www.miosito.it/donwload.php?file=nomefile

    la pagina download.php
    -riceve il nome del file,
    -lo filtra per evitare eventuali injection o xss,
    -cerca se l'utente è loggato
    -se l'utente è loggato controlla se il file è suo.
    -se il file è suo ed esiste inizia il download.

    in questo modo la www.miosito.it/cartella non è mai visibile perchè è un indirizzo che si gestisce da solo php e teoricamente non individuabile(oltre al fatto che non è accessibile.

    il controllo del file e dell'utente per evitare che qualcuno si inventi di scrivere a caso
    www.miosito.it/download.php?file=XXXXXXtentativi

    pensavo di fare una cosa ulteriore che non so se ne valga la pena o meno.

    creare una cartella temporanea,
    i file contenuti nella cartella contenuti hanno un nome in stile hash,
    nel momento in cui io faccio la richiesta

    http://www.miosito.it/download.php?f...sD3:s2dasw3ssd

    il file viene copiato sulla cartella temporanea, rinominato per rendere più semplice il download tipo goldrake.mp3 e una volta scaricato cancellato.

    fattibile, corretto o è una precauzione inutile?
    più che altro dopo devo inventarmi come verificare se il download è andato a buon fine...
    in teoria usando feof() e fget()

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    Originariamente inviato da nexus
    il file viene copiato sulla cartella temporanea, rinominato per rendere più semplice il download tipo goldrake.mp3 e una volta scaricato cancellato.

    fattibile, corretto o è una precauzione inutile?
    più che altro dopo devo inventarmi come verificare se il download è andato a buon fine...
    in teoria usando feof() e fget()
    ho detto una cavolata...se il file viene rinominato con il nome originale e sono due persone che lo stanno acquistando in contemporanea potrebbe essere possibile che il primo che lo scarica cancelli il file che sta ancora venendo scaricato dal primo.

  6. #6
    non capisco perchè vuoi spostare il file e rinominarlo... cmq basta che lo rinomini con qualcosa di univoco, ad esempio:

    {idutente}_goldrake.mp3

    e sei sicuro che due utenti non si daranno mai fastidio

    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    piu che altro non riesco a capire come rendere inaccessibile una cartella.
    se gli tolgo i permessi di lettura dopo ovviamente non posso più leggere via php il contenuto.
    se gli imposto un httacces se per caso io conosco il file esatto e riesco comunque a scaricare i dati contenuti in esso.

    per questo pensavo di rinominare il file e cambiare cartella..
    se i file hanno un nome in hash diventa molto complicate per un utente inventarsi il nome del file per scaricarlo direttamente.
    allo stesso tempo però quando lo vai a salvare avrebbe un nome assurdo quindi pensavo di rinominarlo.
    a meno che con una stringa del genere non mi permetta di obbligarlo a salvarsi con un altro nome.non ho mai provato. ho sempreusato con lo stesso nome.
    Codice PHP:
    header("Pragma: no-cache"); 
    header("Expires: 0"); 
    Header("Content-Type: application/octet-stream"); 
    Header("Content-Length: ".filesize($total)); 
    Header("Content-Disposition: attachment; filename=$filename"); 
    readfile($total); 
    al di la che la cartella non comparirà in nessun url visibile all'utente ma solo in php quindi se tanto mi da tanto non trovabile...mi preoccupano quesi programmi che servono per copiare in maniera brutale i siti.

    non vorrei permettere che qualcuno prenda e si copi tutto.

  8. #8
    Il modo piu' semplice per "rendere" inaccessibile una cartella, e' prenderne una gia' inaccessibile

    A seconda della configurazione del server (cioe' a meno che tu non stia un un hosting schifoso) e' possibile mettere i file al di fuori della document root del webserver. Cosi' facendo i file sono accessibili da PHP ma non lo sono da richiesta diretta del browser. Se questo non e' possibile puoi proteggere la directory con htaccess, come dicevamo in questo thread: http://forum.html.it/forum/showthrea...readid=1391224

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    hm se per negare l'accesso si intende che se scrivo

    www.miosito.it/cartella/ non mi torna a video nulla, allora già lo faccio.

    il mio timore è che se:

    -il nome del file è simile al titolo della canzone.
    -qualcuno scopre la cartella in cui sono contenuti i file

    due 'se' troppo grandi?

    a quel punto pensare di fare

    www.miosito.it/cartella/nomefile.mp3
    www.miosito.it/cartella/nome_file.mp3
    www.miosito.it/cartella/Nome_file.mp3

    cioè vari tentativi non è poi cosi assurdo.

    il problema è che con httacces sia usando il comando <directory> che il comando <Files>
    (so che magari sbaglio a chiamarli 'comandi')

    se trovi il nome del file questo si apre senzqa batter ciglio

  10. #10
    Originariamente inviato da nexus
    hm se per negare l'accesso si intende che se scrivo

    www.miosito.it/cartella/ non mi torna a video nulla, allora già lo faccio.
    No, non si intende quello. Bisogna negare l'accesso alla directory e ai suoi contenuti non solo alla directory.

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.