Come faccio a gestire i download di file?

0

Al momento sto lavorando a uno script (in PHP, ma non sono sicuro se questo è rilevante qui) che consente agli utenti di configurare un semplice sistema di condivisione file sul proprio server. Sono bloccato quando cerco di capire come gestire i download di file.

Vedo due possibili approcci qui:

1. Collegamento diretto ai file sul server

Come https://example.com/files/file.txt

2. Usa uno script per recuperare i file

Come https://example.com/fetch.php?file=file.txt
(o in alternativa creando un fileId unico che è collegato a un nome di file in un database e utilizzandolo per recuperare il file)

Quale dovrei usare? Quali sono i (dis) vantaggi di ciascun sistema?

    
posta rahuldottech 12.08.2018 - 16:30
fonte

3 risposte

4

Entrambi gli approcci presentano vantaggi e svantaggi, è necessario pesarli in base alle proprie esigenze. I collegamenti diretti possono essere più veloci o utilizzare meno risorse del server, possono persino scalare meglio se si utilizza una rete di distribuzione dei contenuti, ma si ha un controllo limitato su chi effettivamente li accede. I collegamenti tramite uno script del server potrebbero offrirti un controllo migliore sui diritti di accesso, ma potrebbero comportare delle penalizzazioni in termini di prestazioni. Un approccio misto (rendendo il file disponibile come collegamento diretto sotto un nome univoco che va via dopo che l'utente lo ha scaricato) può anche essere un'opzione e non è troppo difficile da implementare ma non funziona con un CDN.

    
risposta data 12.08.2018 - 18:42
fonte
1

Non è necessario utilizzare la sintassi della query per utilizzare lo script. Anche tu non fai alcuna configurazione aggiuntiva, semplicemente accedendo a https://example.com/fetch.php/file.txt url chiamerebbe lo script, fornendoti il percorso del file come parametro di richiesta.

Inoltre, puoi impostare richiesta di riscrittura ( apache , iis , esempio ) per fare qualsiasi trasformazione, isolando gli URL che gli utenti accedono da come sono realmente gestiti. Quindi, puoi anche pubblicare gli URL della tua opzione 1 con lo script.

    
risposta data 12.08.2018 - 19:58
fonte
0

Se non hai una valida ragione, preferisci utilizzare un collegamento diretto al file.

Sarà più efficiente, sicuro e più facile da correggere.

Ci sono motivi per utilizzare l'approccio dello script:   - per aggiungere un controllo speciale di sicurezza / intestazione   - per caricare il file da un posto speciale (come un database)

Ma lo scaricamento integrato (per il tuo server web) sarà più performante di qualsiasi cosa tu possa scrivere direttamente nel codice php.

    
risposta data 12.08.2018 - 19:01
fonte

Leggi altre domande sui tag