Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Area download privata

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    483

    Area download privata

    Ciao a tutti... vi scrivo perchè ho bisogno di togliermi qualche dubbio/curiosità.

    Devo realizzare un'area privata per un sito. Ogno utente registato, accedendo a questa area, hanno a disposizione una pagina download dove trovano la lista di tutti i file che l'amministratore ha deciso di fargli scaricare. In altre parole, l'amministratore è abilitato a fare l'upload di file e associare tale file a uno o più utenti... i quali, andando sulla loro pagina di download vedranno tutti i file a loro associati
    Volevo realizzare qualchosa di sicuro... pensavo di caricare il file nel filesystem, inserire in un database l'associazione PERCORSO FILE SISTEM-->UTENTE/I CHE POSSO LEGGERE IL FILE... in modo che ogni volta che per ciascun utente carico la sua pagina di download si trovi il LINK ai soli file che puo' scaricare. La debolezza di tutto ciò è che ipotizzando che un utente NON REGISTRATO FORTUNATO azzecchi il percorso di dove si trova il (o i se ha tanto c...o ) file... mi legge il file anche se non ne ha diritto.

    Le mie domande sono:

    - L'unico sistema per fare una cosa sicura è mettere i file in un Database (volevo evitarlo per non appesantirlo troppo)?

    - E' possibile in qualche modo utilizzare gli httpacces di apache ?
    In questo caso la soluzione sarebbe proteggere ogni file con una username e password in un httpacces, ma io non vorrei che l'utente registrato che si è loggato, andanto nella sua area download... clicca su uno dei link dei file che può scaricare e gli appare una finestra che gli chiede di inserire un altra username e un altra password (quella dell'httpacces).. non c'è un modo per passare la username e la password che richiede l'httpacces ?

    spero che qualcuno mi possa dare qualche consiglio

    grazie



  2. #2
    se il gestore dell'hosting di permette di farlo, metti i files uploadati in una directory non accessibile via web; upload e download li fai automaticamente da PHP forzandone lo scaricamento.

    altrimenti puoi pensare di salvare i files normalmente su disco e fare la tabella che associ i percorsi dei files ai rispettivi utenti, come hai detto tu, ma criptando il file subito dopo l'upload. e ovviamente decriptandolo durante il download forzato da PHP.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    483
    Originariamente inviato da OhMyGod
    se il gestore dell'hosting di permette di farlo, metti i files uploadati in una directory non accessibile via web; upload e download li fai automaticamente da PHP forzandone lo scaricamento.

    altrimenti puoi pensare di salvare i files normalmente su disco e fare la tabella che associ i percorsi dei files ai rispettivi utenti, come hai detto tu, ma criptando il file subito dopo l'upload. e ovviamente decriptandolo durante il download forzato da PHP.
    Grazie per avermi risposto... ne approfitto per farti una domandina.... la prima soluzione come si realizza ? directory non accessibile dal web significa dargli un particolare permesso (CHMOD) ? e poi un altra domanda... forzare lo scaricamento... cosa intendi ?



    grazie ancora


  4. #4
    directory non accessibile dal web significa che non è sotto il path sul quale agisce il web server, quindi non è possibile accederci da browser ma le applicazioni sul server possono comunque vederla essendo una directory locale.

    per "forzare il download" intendo che è più sicuro evitare di far scaricare il file all'utente lincandolo normalmente. in questo modo l'utente è in grado di vedere l'url reale del file. è meglio scrivere del codice che avvia il download senza rendere visibile l'url del file.

    esempio di codice che fa ciò:
    http://www.codeflower.com/index.php?a=showCode&id=29

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    483
    Originariamente inviato da OhMyGod
    altrimenti puoi pensare di salvare i files normalmente su disco e fare la tabella che associ i percorsi dei files ai rispettivi utenti, come hai detto tu, ma criptando il file subito dopo l'upload. e ovviamente decriptandolo durante il download forzato da PHP.

    approfitto ancora della tua sapienza ... l'altro metodo ke mi hai consigliato in parte fa per me (quello di non far scaricare direttamente ma passando x una pagina ke dato un particolare id t fa scaricare il file corrispondente)... ora ti kiedo quale dritta sul CRIPTARE e DECRIPTARE il file durante l'upload e per il download....sai dirmi a grandi linee come fare??


    in tanto ti ringrazio



  6. #6
    la soluzione sta qui: http://www.devpro.it/php4_id_72.html

    mantieni solo il nome del file su database e permetti di scaricarlo solo se è associato all'utente connesso

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    483
    ottima la funzione... ma rimane il problema che se uno mi indovina il path dove tengo tutti i file... se li riesce a scaricare tranquillamente...xke se non passa per la pagina che gestisce il download e i relativi permessi...


    giusto o mi sbaglio ?

  8. #8
    Originariamente inviato da ipnotic
    giusto o mi sbaglio ?
    giustissimo. per la criptazione del file dai un'occhiata a questa classe (devi registrarti per scaricare il codice): http://www.phpclasses.org/browse/file/9004.html

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    483
    faccio risorgere la discussione ancora una volta... ... con i vosti consigli ho provato a vedere qual'era la soluzione idele per me... e alla fine ha vinto quella di mettere i file in una directory esterna al web server... ci ho messo dentro un file PDF per provare a vedere se funzionava lo scaricamento, ho creato una pagina php che usa la funzione che mi avete consigliato in questo modo:

    Codice PHP:
    forceDownload("../../test/file.pdf"); 
    ma non ottengo quello che volevo... invece di vedere partire il download del file.. mi viene visualizzato a video una serie di caratteri strani del tipo:

    %PDF-1.3 %Çì¢ 8 0 obj <> stream xœí]ÍŽäÆ‘¾÷S|™°MóŸEû°ÐÚ‚ Åh5’Ú>,|‘G+Y†F£‘ä5 ÇØõ»øu|´Ÿ|óÍd‘U~Áø"Ȫî

    come mai non funziona ?

    p.s.
    se invece metto il file in una cartella interna al web server la cosa funziona


  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    483
    ora sembra ke vada invece... ma non ho cambiato assolutamente niente... strana la cosa... è forse la funzione forceDownload che nn è affidabile ? mi sembra strano pero'.....


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.