VirusTotal Checker — Автоматическая проверка вложений на вирусы для DLE
VirusTotal Checker — это плагин для DataLife Engine (DLE 13.x – 20.0), предназначенный для автоматической проверки безопасности файлов, прикрепляемых к публикациям на вашем сайте. Модуль интегрируется с официальным API VirusTotal и выводит результаты сканирования прямо в карточке загрузки материала.
Как это работает:
-
Расчет хэш-суммы: При первом обращении пользователя к странице материала плагин рассчитывает уникальный криптографический хэш-код файла (SHA-256) прямо на вашем сервере.
-
Запрос к базе VirusTotal: Модуль отправляет быстрый запрос к API VirusTotal для поиска готового отчета по этому хэшу.
-
Если файл уже проверялся ранее: результаты сканирования (количество угроз и общее число антивирусных систем) сразу записываются в базу данных вашего сайта и выводятся на страницу.
-
Если файла нет в базе (он новый): если размер вложения не превышает 32 МБ, плагин автоматически и безопасно загружает его на сервера VirusTotal для сканирования, временно переключая статус страницы в режим «Идет анализ».
-
-
AJAX-полинг (Обновление без перезагрузки): Пока VirusTotal выполняет проверку, на странице отображается анимированный таймер времени. Каждые несколько секунд скрипт бесшовно опрашивает сервер и, как только отчет готов, автоматически заменяет статус на «Безопасен» или «Обнаружены угрозы» без перезагрузки всей страницы.
-
Кэширование результатов: Все данные сохраняются в базу данных сайта. При последующих посещениях или обновлении страницы запросы к внешнему API не отправляются, а результаты считываются мгновенно, что исключает нагрузку на сервер и укладывается в бесплатные лимиты API.
Основные возможности плагина:
-
Полная автоматизация: файлы сканируются на лету, не требуя ручного вмешательства администратора.
-
Автозагрузка новых файлов: автоматический Multipart-upload для ранее неизвестных файлов весом до 32 МБ.
-
Бесшовное обновление: статус проверки на фронтенде обновляется на лету с интерактивным секундным таймером.
-
Гибкие настройки: поддержка как стандартных вложений DLE, так и конкретных дополнительных полей новостей.
-
Энергоэффективность: настраиваемый срок жизни кэша (в днях) и ограничение на максимальный размер файлов для хеширования.
-
Интегрированная админпанель: лаконичный интерфейс в оригинальном стиле DLE 19.x/20.0, включающий лог последних 50 сканирований с возможностью ручного сброса кэша для любого файла.
[Исправлено] Устранена ошибка 403 (Forbidden) при запросах к AJAX-скрипту на некоторых хостингах.
Запросы переведены на официальный роутер DLE index.php?controller=ajax&mod=virustotal.
[Улучшено] Полная стилизация административной панели под сетку DLE 19.1 / 20.0 (использование современных карточек .card и таб-панелей).
[Улучшено] Повышена стабильность кэширования при медленном соединении с API.
Версия 1.2.0:
[Добавлено] Реализована поддержка фонового AJAX-полинга. Статус сканирования на странице новости обновляется без необходимости обновлять страницу.
[Добавлено] Добавлен интерактивный счетчик секунд для отображения времени, прошедшего с начала анализа файла.
Версия 1.1.0:
[Добавлено] Добавлена функция автоматической загрузки (POST-upload) неизвестных файлов размером до 32 МБ на сервера VirusTotal при отсутствии готового отчета.
Версия 1.0.0:
Релиз первой стабильной версии плагина. Локальный расчет SHA-256 и кэширование результатов в базу данных.
Зайдите в панель управления DLE -> Утилиты -> Управление плагинами.
Нажмите Загрузить плагин и выберите файл virustotal.xml.
2) Очистка кэша:
Очистите системный кэш DLE на главной странице панели управления.
3) Настройка модуля:
Перейдите в раздел Сторонние модули -> VirusTotal Checker.
Измените переключатель на Включен.
Введите ваш рабочий API Key (ключ можно бесплатно получить после регистрации на сайте VirusTotal).
Настройте источник вложений, лимиты по размеру и нажмите Сохранить.
4) Редактирование шаблона:
Откройте файл fullstory.tpl вашего шаблона.
Вставьте подготовленный HTML-код проверки (с тегами [virustotal]...[/virustotal]) в блок характеристик файла или карточку скачивания.
5) Проверка работы:
Перейдите на страницу любой публикации с прикрепленным файлом для старта автоматического анализа.



