wanze/fieldtype-secure-file

ProcessWire 字段类型,用于将文件存储在自定义位置,例如网站根目录外。

dev-master 2018-03-22 22:08 UTC

This package is auto-updated.

Last update: 2024-09-05 18:44:00 UTC


README

ProcessWire 字段类型,用于将文件存储在网站根目录外的自定义位置。此模块主要用于需要存储不应直接从网络上访问的敏感数据的情况。通常,ProcessWire 将所有文件存储在 /site/assets/files 下。可以通过设置 $config->pagefileSecure = true 来限制对这些文件的直接URL访问。但仍需确保模板权限设置正确。

安装

请参阅以下指南: http://modules.processwire.com/install-uninstall/

配置

安装此模块后,您可以在编辑字段时创建一个新的 SecureFile 类型的字段。在编辑字段时,在“详细信息”部分下进行配置。

  • 存储位置 输入存储文件的外部路径,该路径位于网站根目录之外。您需要手动创建该目录。同时,请确保运行Web服务器的用户具有写入权限。
  • 允许下载安全文件的角色 在此处选择角色的用户能够通过API请求下载文件。
  • 在管理员中允许下载 如果选中,则具有上述选中角色的用户在编辑页面时可以下载文件。

API

如果您想下载安全文件,可以调用 PagefileSecure::download()。此方法还确保根据权限配置,当前用户有权下载文件。

示例

$secureFile = $page->secureFiles->first();
$secureFile->isDownloadable(); // Returns true if the current user is allowed to download
$secureFile->download(); // Performs the check above and delivers the file via the wireSendFile() function