Maison > Article > développement back-end > Comment servir en toute sécurité des fichiers téléchargeables dans Django sans exposer les chemins de fichiers directs ?
Question :
Comment Django peut-il servir des fichiers téléchargeables en toute sécurité tout en masquant leur téléchargement direct chemins ?
Réponse :
Django ne prend pas directement en charge la diffusion de fichiers téléchargeables. Pour implémenter cette fonctionnalité, envisagez l'approche suivante :
Utilisation du module xsendfile
Avantages :
Mise en œuvre :
from django.utils.encoding import smart_str from django.http import HttpResponse def download_view(request): file_path = '/home/user/files/somefile.txt' file_name = 'somefile.txt' response = HttpResponse(content_type='application/force-download') response['Content-Disposition'] = 'attachment; filename=%s' % smart_str(file_name) response['X-Sendfile'] = smart_str(file_path) return response
Remarque : Cette approche nécessite que mod_xsendfile soit activé sur votre serveur.
Conclusion :
En utilisant le module xsendfile, vous pouvez servir en toute sécurité des fichiers téléchargeables dans Django tout en empêchant l'accès direct à leurs emplacements d'origine. Cette approche offre à la fois sécurité et flexibilité dans la gestion des téléchargements de fichiers.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!