跳转到主要内容

Django存储后端,可用于通过lighttpd的mod_secdownload模块提供文件。此存储后端是FileSystemStorage的扩展,可以生成正确的签名下载URL。

项目描述

Django存储后端,可用于通过lighttpd的mod_secdownload模块提供文件。此存储后端是FileSystemStorage的扩展,可以生成正确的签名下载URL。

安装

pip install django-secdownload-storage

easy_install django-secdownload-storage

或通过源代码检出

hg clone https://bitbucket.org/ionelmc/django-secdownload-storage
cd django-secdownload-storage
python setup.py install

用法

在你的django模型中,你应该将storage=SecDownloadFileSystemStorage()添加到你想通过secdownload提供的字段。

必需设置

SEC_DOWNLOAD_ENABLED = True
SEC_DOWNLOAD_SECRET_KEY = 'VERYVERYSECRET'
SEC_DOWNLOAD_MEDIA_URL = MEDIA_URL + 'dl/'

示例模型

import secdownload_storage

class Foo(models.Model):
  secret_picture = models.ImageField(upload_to='secret-pictures', storage=secdownload_storage.SecDownloadFileSystemStorage())

你需要启用mod_secdownload并配置类似以下的内容(更多信息请参阅http://redmine.lighttpd.net/wiki/1/Docs:ModSecDownload

secdownload.secret = "VERYVERYSECRET"
secdownload.document-root = "/path/to/media"
secdownload.uri-prefix = "/dl/"
secdownload.timeout = 3600

此外,请注意,你应该在lighttpd配置中禁止对这些文件的访问,因为它们将与你常规的媒体文件一起提供。例如

$HTTP["url"] =~ "^/media/secret-pictures" {
    url.access-deny = ("")
}

配置

  • SEC_DOWNLOAD_ENABLED - 将此设置为False以禁用签名URL并像FileSystemStorage一样生成它们。这在开发中很有用(如果你使用django的devserver)。

  • SEC_DOWNLOAD_SECRET_KEY - 这是用于签名请求的秘密密钥

  • SEC_DOWNLOAD_MEDIA_URL - 这是当SEC_DOWNLOAD_ENABLED设置为True时用于替代MEDIA_URL的前缀路径。如果SEC_DOWNLOAD_ENABLED设置为False,SecDownloadFileSystemStorage将使用MEDIA_URL作为前缀。

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

django-secdownload-storage-0.1.1.tar.gz (2.7 kB 查看哈希值)

上传时间 源代码

由以下组织支持

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF赞助商 PingdomPingdom 监控 SentrySentry 错误记录 StatusPageStatusPage 状态页面