phpMussel upload handler

v3.5.2 2024-09-26 13:03 UTC

README

v1: PHP >= 5.4 < 8.4 v2: PHP >= 7.2 < 8.4 v3: PHP >= 7.2 License: GPL v2 PRs Welcome

What is phpMussel?

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.

What's this repository for?

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)…

Screenshot: Screenshot

Documentation:

See also:

Last Updated: 1 July 2024 (2024.07.01).