为基于Archetypes内容类型提供ClamAV反病毒集成
项目描述
collective.ATClamAV
简介
collective.ATClamAV 的目标是向 Plone 网站提供防病毒集成。它通过定义一个验证器来实现,这个验证器可以与任何使用文件或图片字段的内容类型一起使用。支持开源的 Clam Antivirus,适用于所有平台。
使用方法
首先,您需要在某些主机上运行 clamd,并确保您的实例可以访问。 collective.ATClamAV 支持UNIX套接字连接或远程连接。
安装 collective.ATClamAV 并在控制面板中设置主机和端口或 clamd 套接字路径(默认是连接到在 localhost 端口 3310 监听的 clamd 的网络连接)。默认情况下,在添加或更新时,将检查 文件 和 图片 是否有病毒。
为基于非 ATFile 的内容添加防病毒保护
为了将防病毒保护添加到您自定义的内容类型,您只需要将 isVirusFree 验证器添加到您的 FileField(s)。例如
FileField('file', validators = (('isNonEmptyFile', V_REQUIRED), ('isVirusFree', V_REQUIRED),), widget = FileWidget(label=u'File'), )
测试
默认情况下,测试会模拟 clamd 并不需要安装。如果您想测试您的 clamd 设置,请在所有级别上运行测试,即
./bin/test -a2
使用提供的 buildout。如果要将包集成到您自己的测试中,提供了两个 plone.app.testing 层(带有和没有 mocker),请参阅 testing.py。
开发
如果您想参与 collective.ATClamAV 的开发,请使用 github 提交您的补丁/问题。
致谢
一些代码是从 pyClamd 不加掩饰地借用的。
变更日志
1.2 - 2011-03-15
通过套接字发送所有数据,而不是只发送第一个缓冲区。 [hannosch]
添加了对扫描失败的错误日志记录。 [hannosch]
1.1 - 2011-02-15
在调试模式下禁用病毒验证器但记录警告。这允许在没有安装 clamav 的情况下进行本地开发。 [hannosch]
1.0 - 2011-01-11
重新设计以支持图片。 [hannosch]
提高覆盖率并使用 plone.app.testing。 [ggozad]
Plone 4 兼容性。 [ggozad, hannosch]
pep-8 [ggozad]
1.0b2
添加了对本地 UNIX 套接字的支持 [ggozad]
1.0b1
初始发布 [ggozad]
项目详情
collective.ATClamAV-1.2.zip 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e2476562b32abd7c3cb577600b022230164d6b635140903bb9d7b27487706213 |
|
MD5 | 8d0b2d6afe235bb230870508d079219e |
|
BLAKE2b-256 | fed0d1d7997755960b5c7d4b68f2b0e71fd710e3222c80ea3cf17b86f8754814 |