질문:
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을 활성화해야 합니다.
결론:
xsendfile 모듈을 활용하면 다음을 안전하게 수행할 수 있습니다. 원래 위치에 직접 액세스하는 것을 방지하면서 Django에서 다운로드 가능한 파일을 제공합니다. 이 접근 방식은 파일 다운로드 처리 시 보안과 유연성을 모두 제공합니다.
위 내용은 직접 파일 경로를 노출하지 않고 Django에서 다운로드 가능한 파일을 안전하게 제공하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!