• User Newbie

    Area riservata documenti

    Salve a tutti, volevo qualche soluzione riguardo all'area riservata in particolare per la gestione di documenti.
    Sono riuscito a creare un'area riservata, con ASP e DB,dove l'amministratore carica dei file in pdf e gli utenti registrati possono vedere l'elenco dei documenti disponibili. Un utente A però vede i link solo dei documenti che può scaricare. Un utente B conoscendo l'indirizzo (link) di un documento che non dovrebbe vedere potrebbe scaricarlo (se vede la cartella che contiene un documento potrebbe indovinare il nome del file).
    Spero di aver spiegato bene il problema.
    Esiste un modo per verificare le autorizzazioni prima di far effettuare il download di un documento?


  • Super User

    Per le autorizzazioni dovresti usare un metodo come ad esempio directory e ruoli, ma in asp.net. Per quello che serve a te potresti provare a usare un file intermedio, quindi ad esempio invece di dare all'utente l'indirizzo diretto del file gli fai vedere un url del tipo get_file.asp?id=1234 e poi da li controlli l'id e prendi l'url del file. Per farlo più sicuro puoi pensare a varie strategie, come ad esempio copiare ogni volta che viene richiesto un file su una cartella e poi cancellarlo, in modo che l'utente vedee solo l'url finale e non quello dove sta il file.


  • User Attivo

    @cali1981 said:

    Per farlo più sicuro puoi pensare a varie strategie, come ad esempio copiare ogni volta che viene richiesto un file su una cartella e poi cancellarlo, in modo che l'utente vedee solo l'url finale e non quello dove sta il file.

    Bellissima questa...non l'avevo mai pensata.
    Ottima proposta


  • Super User

    @FuSioNmAn said:

    Bellissima questa...non l'avevo mai pensata.
    Ottima proposta

    Grazie!


  • User Newbie

    Grazie. Mi sembra un'ottima soluzione visto che so usare solo asp. Applicando i tuoi consigli avevo pensato questo:

    1. l'utente mi chiede il file che si trova in una cartella sul server
    2. copio il file richiesto in una cartella "Nome Utente" e gli invio il link per email tipo get_file.asp?id=xxx
    3. verifico se il file era stato richiesto, se si, visualizzo il link all'URL per il download
    4. cancello la cartella "nome utente" e il file copiato

    E' sicura questa procedura?


  • Super User

    Si penso di si se per sicura intendi che l'utente non può dare il link ad altri dopo che l'ha scaricato. Il problema è come fare per sapere quando l'utente lo ha scaricato, puoi farlo scadere dopo 10 min ad esempio ma in quei 10 min chiunque abbia il link può scaricarlo.


  • User Newbie

    Se l'utente autorizzato scarica il file allora elimino il file dopo il download. Se ha dato il link ad altri allora il primo che scarica mi cancella il link. C'è il rischio che solo un utente non autorizzato prelevi il file e non chiunque. Inoltre potrei, come hai suggerito, dare un tempo per il download.