nswdpc / silverstripe-asset-scan
为Silverstripe资产提供资产存储和扫描后端
v1.0.0
2024-05-13 06:29 UTC
Requires
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3
- phpunit/phpunit: ^9.5
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'
许可证
维护者
错误追踪
我们欢迎对此项目进行错误报告、拉取请求和功能请求的GitHub问题跟踪器。
在打开新问题之前,请先审查行为准则。
安全
如果您发现此模块存在安全问题,请首先通过电子邮件digital[@]dpc.nsw.gov.au告知,并详细说明您的发现。
开发和贡献
如果您想为此模块做出贡献,请确保您发起一个拉取请求,并与模块维护者进行讨论。
在完成拉取请求之前,请先审查行为准则。