Site Guard is a component for Joomla 5/6 that handles daily website protection without manual intervention.
When a suspicious file is detected, it automatically quarantines it, checking the site's contents against a predefined hash standard—this distinguishes genuine changes (for example, after a template update) from unauthorized intervention. A separate check is made to ensure that scripts are not running in places where they shouldn't (image folders, temporary files, logs)—with the ability to selectively exclude your working directories without disabling the check for the rest of the site.
The IP blacklist is written directly to .htaccess—blocking occurs at the web server level, even before Joomla is loaded. The list is divided into two levels: a sliding list (automatically cleared once a week to a specified size) and a permanent list—for deliberately banned IP addresses that are never cleared. The list can be synchronized across multiple sites on the same hosting via a shared database.
Separate protection against password guessing: the component responds to every failed login attempt, both on the frontend and in /administrator (including if the admin panel is hidden behind additional protection from a third-party plugin—this provides an independent second layer in case it is bypassed). There's also protection against high-speed attacks—it bans IP addresses if the request rate is too high, regardless of what was requested.
Changes to the superadministrator list are separately monitored—any new assignment of rights is recorded and included in the report. A database backup with automatic rotation is created once per day; the rolling blacklist and outdated event log are cleaned once per week. Each run sends a detailed step-by-step report by email.
All checks are run through Joomla's native task scheduler (com_scheduler)—no separate cron job needs to be configured on the server.
The trap word for hacking attempts (tarpit) is fully configurable in Options—nothing is hardcoded.
| This is the email the admin receives with the response (optional) |
|
Website: {YOUR_SITE} Launch: manual
=== Site Guard — site scan and cleaning report from Thu, 03 Sep 2026 07:03:44 UTC ===
[Step 1] Quarantining suspicious files (images/tmp/logs)... No suspicious files found, everything is clean.
[Step 2] Checking and fixing permissions on important files (444)... Permissions were weakened and restored on files: 2. [Step 2.5] Disabling script execution in protected folders... All protected folders are already under barrier, no new ones are required.
[Step 3] Quick code analysis for dangerous PHP signatures... No dangerous signatures found.
[Step 4] Checking for hidden iframes and redirects... No hidden iframes or suspicious redirects found.
[Step 5] Checking the user table for hidden Super Users... Control passed: there is exactly 1 legitimate administrator in the Super Users group.
[Step 6] Database backup... Database backup successfully created: db_backup_2026-09-03_07-03.sql.gz (7080.9 KB).
[Step 7] Cleaning up stale sessions and system cache... Stale sessions have been removed. Cache files deleted: 111.
[Step 8] Synchronizing IP blacklist with .htaccess... Active bans (including the general blacklist database): 264.
[Step 9] Determining country by IP (GeoLite2)... Nothing to add—all known IPs have already been marked (or no new IP entries have appeared).
=== RESULT: site clean, routine run complete ===
--- Summary --- Permissions corrected: 2 | DB backup: ok | blacklist: 264 IPs
|
Distributed under the GNU GPL v2 or later.
Update 02/09/2026 — Blocking by country and a general graph with a map of attacking IP addresses have been added to the functions.
Updates and support: the price includes all version updates for 12 months from the date of purchase. After one year, the component continues to function without limitations—only new version updates will be discontinued.