nswdpc/silverstripe-asset-scan

为Silverstripe资产提供资产存储和扫描后端

安装: 190

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

公开问题: 0

类型:silverstripe-vendormodule

v1.0.0 2024-05-13 06:29 UTC

This package is auto-updated.

Last update: 2024-09-13 07:08:26 UTC


README

将表示资产的流传递给可以执行扫描的后端。如果扫描失败,将记录信息以供进一步审查,并且存储资产的请求将失败。

此功能与通过以下方式存储的资产兼容:

  • 上传
  • File::setFrom*操作

该模块自带ClamAV后端,可以通过Unix套接字或TCP套接字与clamd通信。该系统允许创建和配置自定义扫描后端。

要求

要使用clamd,您需要安装、配置并确保其正常工作。

安装

composer require nswdpc/silverstripe-asset-scan

要使用替换的资产存储,请将配置添加到您的项目中。

配置块的名称由您决定。

---
Name: 'app-scanning-assetstore'
After:
  - '#assetscore'
---
SilverStripe\Core\Injector\Injector:
  SilverStripe\Assets\Storage\AssetStore:
    class: 'NSWDPC\AssetScan\ScanningFlysystemAssetStore'

配置刷新后,项目将配置为使用该模块提供的资产存储。它将继承在#assetscore配置中定义的属性。

要使用ClamAVBackend,您必须设置套接字地址值

---
Name: 'app-asset-scan-handling'
After:
  - '#nswdpc-asset-scan-handling'
---
NSWDPC\AssetScan\ClamAVBackend:
  # specify a unix socket location
  address: 'unix:///some/path/to/clamd.sock'

进一步配置

您可以配置最大块大小,用于与执行分块扫描的后端一起使用。

---
Name: 'app-asset-scan-handling'
After:
  - '#nswdpc-asset-scan-handling'
---
NSWDPC\AssetScan\Backend:
  # increase chunk size to 20M, value is in bytes
  max_chunk_size: 20971520

自定义后端

您可以通过Injector使用自己的扫描后端。它必须是\NSWDPC\AssetScan\Backend的子类

---
Name: 'app-asset-scan-handling'
After:
  - '#nswdpc-asset-scan-handling'
---
SilverStripe\Core\Injector\Injector:
  NSWDPC\AssetScan\Backend:
    # set default backend
    class: 'My\App\CustomScanBackend'

许可证

BSD-3-Clause

维护者

错误追踪

我们欢迎对此项目进行错误报告、拉取请求和功能请求的GitHub问题跟踪器。

在打开新问题之前,请先审查行为准则

安全

如果您发现此模块存在安全问题,请首先通过电子邮件digital[@]dpc.nsw.gov.au告知,并详细说明您的发现。

开发和贡献

如果您想为此模块做出贡献,请确保您发起一个拉取请求,并与模块维护者进行讨论。

在完成拉取请求之前,请先审查行为准则