質問:
Django が直接ダウンロードを隠しながらダウンロード可能なファイルを安全に提供するにはどうすればよいですかパス?
答え:
Django は、ダウンロード可能なファイルの提供を直接サポートしていません。この機能を実装するには、次のアプローチを検討してください。
xsendfile モジュールの使用
長所:
実装:
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
注: このアプローチでは、mod_xsendfile が有効になっている必要があります。 server.
結論:
xsendfile モジュールを利用すると、元の場所への直接アクセスを防ぎながら、ダウンロード可能なファイルを Django で安全に提供できます。このアプローチでは、ファイルのダウンロード処理におけるセキュリティと柔軟性の両方が提供されます。
以上が直接ファイル パスを公開せずに、Django でダウンロード可能なファイルを安全に提供するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。