Frage:
Wie kann Django herunterladbare Dateien sicher bereitstellen und gleichzeitig ihren direkten Download verbergen? Pfade?
Antwort:
Django unterstützt die Bereitstellung herunterladbarer Dateien nicht direkt. Um diese Funktionalität zu implementieren, sollten Sie den folgenden Ansatz in Betracht ziehen:
Verwendung des xsendfile-Moduls
Vorteile:
Implementierung:
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
Hinweis: Für diesen Ansatz muss mod_xsendfile auf Ihrem aktiviert sein Server.
Fazit:
Durch die Verwendung des xsendfile-Moduls können Sie herunterladbare Dateien sicher in Django bereitstellen und gleichzeitig den direkten Zugriff auf ihre ursprünglichen Speicherorte verhindern. Dieser Ansatz bietet sowohl Sicherheit als auch Flexibilität bei der Handhabung von Dateidownloads.
Das obige ist der detaillierte Inhalt vonWie kann man herunterladbare Dateien in Django sicher bereitstellen, ohne direkte Dateipfade offenzulegen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!