bitmotion / secure-downloads
"安全下载":将 TYPO3 访问权限应用于所有文件资源(PDF、TGZ、JPG等 - 可配置)- 保护它们免受直接访问。
Requires
- php: ^8.1
- ext-pdo: *
- firebase/php-jwt: ^6.1
- typo3/cms-backend: ^12.4
- typo3/cms-core: ^12.4
- typo3/cms-extbase: ^12.4
- typo3/cms-frontend: ^12.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.10
- typo3/coding-standards: ^0.7.1
- typo3/testing-framework: ^8.0.1
Suggests
- ext-fileinfo: For getting mime types from file path.
Replaces
- bitmotion/secure-downloads: v6.0.4
- typo3-ter/secure-downloads: v6.0.4
- dev-master
- v6.0.4
- v6.0.3
- v6.0.2
- v6.0.1
- v6.0.0
- v6.0.0-rc1
- v5.0.6
- v5.0.5
- v5.0.4
- v5.0.3
- v5.0.2
- v5.0.1
- v5.0.0
- v5.0.0-rc1
- v5.0.0-beta2
- v5.0.0-beta
- v4.1.6
- v4.1.5
- v4.1.4
- v4.1.2
- v4.1.1
- v4.1.0
- v4.0.0
- v3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 1.8.0
- dev-release-5.x
- dev-bugfix/gh-212
- dev-bugfix/TER-236
- dev-bugfix/TER-194
- dev-feature/TER-187
- dev-feature/TER-187-v12
- dev-feature/TER-166
- dev-bugfix/TER-158
- dev-feature/TER-137
- dev-feature/TER-151
- dev-bugfix/TER-144
- dev-bugfix/TER-143
- dev-bugfix/TER-139
- dev-bugfix/TER-142
- dev-feature/TER-133
- dev-bugfix/TER-124
- dev-feature/TER-108
- dev-release-4.x
- dev-release-2.0.x
- dev-release-3.x
This package is auto-updated.
Last update: 2024-09-23 12:49:48 UTC
README
TYPO3 扩展 "Secure Downloads"
在 TYPO3 中,如 PDF、TGZ 或 JPG 等资产通常仅通过 URL 引用,例如 fileadmin/...
。文件本身由 web 服务器直接提供,因此不属于 TYPO3 访问控制方案 - 文件保持未受保护,因为 URL 可以重复使用、通过电子邮件发送、被搜索引擎收录或甚至猜测。
"Secure Downloads" 扩展(EXT:secure_downloads
)改变了这种行为:现在将通过一个尊重 TYPO3 访问权限的脚本访问文件。转换后的 URL 将如下所示
https://www.example.com/securedl/sdl-eyJ0eXAiOiJKV1QiLCJhbGciO[...]vcM5rWxIulg5tQ/protected_image.jpg
这适用于文件来源的任何地方,并且不仅限于特殊插件等。
由于在大多数情况下您可能不想保护一切(这意味着所有内容都经过相当消耗性能的访问权限检查),Secure Downloads 具有高度的可配置性。您可以选择
- 要保护的目录(例如,您可以选择是否包含 typo3temp)
- 要保护的文件类型(您是否想保护 JPG 等)
作为补充措施,您当然需要配置您的 web 服务器不要直接提供这些内容(例如,使用 .htaccess 设置)。
要求
我们目前支持以下 TYPO3 版本
- 1) 即将发布版本作为
leuchtfeuer/secure-downloads
(供应商名称已更改)。
过时版本
对于以下版本,作者将不再提供免费的错误修复和新功能
- 2) 作为
EXT:naw_securedl
或typo3-ter/naw-securedl
。
安装
有多种方式可以要求和安装此扩展。我们建议通过 composer 获取此扩展。
通过 Composer
如果您的 TYPO3 实例正在 composer 模式下运行,您只需运行以下命令即可要求扩展
composer req leuchtfeuer/secure-downloads:^6.0
通过扩展管理器
打开您的 TYPO3 实例的扩展管理器模块,在上传按钮上方的选择菜单中选择“获取扩展”。在那里您可以搜索 secure_downlaods
并简单地安装扩展。请确保在安装 Secure Downloads 扩展之前通过更新扩展列表使用最新的扩展版本。
通过 ZIP 文件
您需要从 TYPO3 扩展仓库 下载 Secure Downloads 扩展,并将 ZIP 文件上传到您的 TYPO3 实例扩展管理器中,之后激活该扩展。您也可以从 GitHub 下载存档,并将其内容直接放入您的 TYPO3 实例的 typo3conf/ext
目录。但请注意,文件夹的名称必须为 secure_downloads
(默认为仓库名称)。
配置
安装后,您需要配置此扩展。请参阅官方 手册 的相应部分。
最佳实践
您可以根据具体需求配置此扩展。然而,以下一些“最佳实践”可能在您首次使用 Secure Downloads 时有所帮助。
- 按照上述说明安装此扩展
- 在您的 TYPO3 实例的页面 0 上创建一个新的“文件存储”,类型为“本地文件系统”,并将“是否公开可用?”选项设置为“否”
- 在您的文件系统中创建一个与先前配置的“基础路径”匹配的目录
- 在该文件夹中放入一个
.htaccess
文件,该文件拒绝访问此路径下及其所有子目录中的文件 - 在您的 TYPO3 后台管理员的扩展配置中配置该扩展,以匹配您新创建的文件存储中的所有文件(使用星号作为 受保护文件类型 选项),并使用路径作为 受保护目录 选项。
访问配置
您还需要通过服务器配置来保护所有目录和文件类型。这可以通过 .htaccess
文件来完成。一些示例 .htaccess 文件可以在 Resources/Private/Examples 文件夹中找到。
注意:此扩展无法保护在您的 CSS 文件中包含的文件链接。例如,您可以通过将文件放入 /fileadmin
来使用默认的 .htaccess_deny
文件来保护 /fileadmin
。您可以通过将此文件放入 /fileadmin/template/
来允许 /fileadmin/templates/
使用默认的 .htaccess_allow
文件。
文档
此扩展的详细文档可以在 官方 TYPO3 文档 中找到。
变更日志
变更日志可以在此扩展的 官方 TYPO3 文档 的变更日志章节中找到。
贡献
您可以通过向此存储库的 master 分支提交 pull request,使用页面顶部的“❤️ 赞助”按钮,或者仅仅送给我们一些 啤酒 🍻 来做出贡献...