An ideal solution for shared hosting environments, where it's often not possible to utilise or install conventional anti-virus protection solutions, phpMussel is a PHP script designed to detect trojans, viruses, malware and other threats within files uploaded to your system wherever the script is hooked, based on the signatures of ClamAV and others.
This provides automatic file upload scanning to your website.
composer require phpmussel/web
Example:
<?php
// Path to vendor directory.
$Vendor = __DIR__ . DIRECTORY_SEPARATOR . 'vendor';
// Composer's autoloader.
require $Vendor . DIRECTORY_SEPARATOR . 'autoload.php';
$Loader = new \phpMussel\Core\Loader();
$Scanner = new \phpMussel\Core\Scanner($Loader);
$Web = new \phpMussel\Web\Web($Loader, $Scanner);
$Loader->Events->addHandler('sendMail', new \phpMussel\PHPMailer\Linker($Loader));
// Scans file uploads (execution terminates here if the scan finds anything).
$Web->scan();
// Fixes possible corrupted file upload names (Warning: modifies the content of $_FILES).
$Web->demojibakefier();
// Cleanup.
unset($Web, $Scanner, $Loader);
?><html>
<form enctype="multipart/form-data" name="upload" action="" method="post">
<div class="spanner">
<input type="file" name="upload_test[]" value="" />
<input type="submit" value="OK" />
</div>
</form>
</html>
(And, after using that form to try uploading ascii_standard_testfile.txt
, a benign sample provided for the sole purpose of testing phpMussel)…
- English
- العربية
- Deutsch
- Español
- Français
- Bahasa Indonesia
- Italiano
- 日本語
- 한국어
- Nederlandse
- Português
- Русский
- اردو
- Tiếng Việt
- 中文(简体)
- 中文(傳統)
- phpMussel/phpMussel – The main phpMussel repository (you can get phpMussel versions prior to v3 from here).
- phpMussel/Core – phpMussel core (dedicated Composer version).
- phpMussel/CLI – phpMussel CLI-mode (dedicated Composer version).
- phpMussel/FrontEnd – phpMussel front-end (dedicated Composer version).
- phpMussel/Web – phpMussel upload handler (dedicated Composer version).
- phpMussel/Examples – Prebuilt examples for phpMussel (useful for users which don't want to use Composer to install phpMussel).
- phpMussel/plugin-boilerplates – This repository contains boilerplate code which can be used to create new plugins for phpMussel.
- phpMussel/Plugin-PHPMailer – Provides 2FA and email notifications support for phpMussel v3+.
- CONTRIBUTING.md – Contribution guidelines.
Last Updated: 1 July 2024 (2024.07.01).