为基于原型的内容类型提供 ClamAV 防病毒集成
项目描述
集体.ATClamAV
介绍
collective.ATClamAV旨在为 Plone 站点提供防病毒集成。它通过定义一个验证器来实现这一点,该验证器可用于任何使用文件或图像字段的内容类型。 支持适用于所有平台的开源Clam Antivirus 。
用法
首先,您需要在您的实例可访问的某个主机上运行clamd 。collective.ATClamAV支持 UNIX 套接字连接或远程连接。
安装collective.ATClamAV并在控制面板中设置主机和端口或 clamd套接字的路径(默认是一个网络连接到 clamd在端口3310监听localhost )。默认情况下,文件和 图像将在添加或更新时进行病毒检查。
为非基于 ATFile 的内容添加防病毒保护
为了向您的自定义内容类型添加防病毒保护,您只需将isVirusFree验证器添加到您的 FileField(s)。例如:
FileField('file',
validators = (('isNonEmptyFile', V_REQUIRED),
('isVirusFree', V_REQUIRED),),
widget = FileWidget(label=u'File'),
)
测试
默认情况下测试模拟clamd并且不需要安装它。如果您还想测试您的clamd设置,请在所有级别上运行测试,即
./bin/test -a2
使用提供的构建。如果您想将包集成到您自己的测试中,则提供了两个plone.app.testing层(带有和不带有模拟程序),请参阅testing.py。
发展
如果您想参与collective.ATClamAV 的开发,请使用github提交您的补丁/问题。
学分
有些代码是从pyClamd无耻地借来的。
变更日志
1.2 - 2011-03-15
通过套接字发送所有数据,而不仅仅是第一个缓冲区。[汉诺施]
为失败的扫描添加了错误日志记录。[汉诺施]
1.1 - 2011-02-15
在调试模式期间禁用病毒验证器,但会记录警告。这允许在没有安装 clamav 的情况下进行本地开发。[汉诺施]
1.0 - 2011-01-11
重新设计以支持图像。[汉诺施]
提高覆盖率并使用 plone.app.testing。[格扎德]
克隆 4 兼容性。[ggozad,汉诺施]
pep-8 [ggozad]
1.0b2
添加了对本地 UNIX 套接字的支持 [ggozad]
1.0b1
初始版本 [ggozad]