跳转到主要内容

django-clamd 是一个与Clamd (Clamav守护进程) 集成的Django框架。

项目描述

此项目将python-clamd与Django集成,以便在文件上传时轻松扫描病毒。

安装

使用pip从PyPi安装

pip install django-clamd

或者

easy_install django-clamd

您还可以直接从GitHub安装开发版本

pip install git+https://github.com/vstoykov/django-clamd.git

另外,如果您想使用翻译,则需要将其添加到已安装的应用程序中。

INSTALLED_APPS = (
    ...
    'django_clamd',
    ...
)

另外,如果您正在使用Ubuntu,为了让django-clamd正常工作,需要安装clamav-daemon。

sudo apt-get install clamav-daemon

用法

您可以在表单中使用它

from django import forms
from django_clamd.validators import validate_file_infection

class UploadForm(forms.Form):
    upload_file = forms.FileField(validators=[validate_file_infection])

或者,您可以直接在模型中将它作为验证器添加

from django.db import models
from django_clamd.validators import validate_file_infection

class FileModel(models.Model):
    document = models.FileField(validators=[validate_file_infection])

您将在Django管理界面自动扫描上传的文件,以及为该模型创建ModelForm时。

配置

默认情况下,django-clamd 尝试智能操作并使用良好的默认值。您仍然可以配置如何连接到Clamd。默认值如下

CLAMD_SOCKET = '/var/run/clamav/clamd.ctl'
CLAMD_USE_TCP = False
CLAMD_TCP_SOCKET = 3310
CLAMD_TCP_ADDR = '127.0.0.1'

注意:当您在Fedora或CentOS上运行,并且已安装clamav-scanner软件包时,CLAMD_SOCKET的默认值是

CLAMD_SOCKET = '/var/run/clamd.scan/clamd.sock'

默认情况下,如果无法联系ClamD或扫描失败,则此软件包将允许文件。如果您想在这些情况下使验证失败,请更改CLAMD_FAIL_BY_DEFAULT

CLAMD_FAIL_BY_DEFAULT = True

您还可以使用以下命令禁用开发中的病毒扫描:

CLAMD_ENABLED = False

注意:这主要是为了便于在开发环境中运行项目,而无需在开发机上安装Clamd。

许可证

django-clamd作为开源软件发布,遵循LGPL许可协议。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。

源分布

django_clamd-1.0.0.tar.gz (7.6 kB 查看哈希值)

上传时间

构建分布

django_clamd-1.0.0-py3-none-any.whl (9.7 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面