Security Revolution: setup and help

Quick start

  1. Upload and install the Security Revolution ZIP in Modules > Module Manager.
  2. Open Security Revolution > Settings > Configuration and review Module Active and the Spam Filter settings.
  3. Add your administrative address under Whitelisted IPs and use a separate non-whitelisted session for testing.
  4. Review Action Rate Limits and set Capacity guard to Monitor only while assessing load decisions.
  5. Submit one controlled registration and contact message and inspect Protection > Blocked for the actual result.
  6. Create a clean baseline in Protection > File Monitor and inspect a scan.
  7. Configure the tokenized cron runner, then verify its task results; configure and test private backups separately if you need them.

Requires PrestaShop 1.6.1 or later and PHP 7.1 or later.

Setup manual

Install and review the first configuration

Upload and install the Security Revolution ZIP in Modules > Module Manager. Click Configure. The menu is Security Revolution, with Dashboard, Fleet, Monitoring, Protection, Backup and Settings.

Select the intended shop. Open Settings > Configuration, review the defaults below and save. Add your trusted administrative IP to Whitelisted IPs before deliberate blocking tests. Use a different, non-whitelisted browser/IP for those tests. Keep server access available before changing login protection.

Security protections have separate scopes. Form/action checks, the capacity guard, security headers, administrative authentication and an operator-applied origin policy are not controlled by one universal enable switch.

Configure registration, contact and comment checks

In Settings > Configuration, use the General, Spam Filter, Contact & Comments and Bot Fight tabs.

Setting Default Effect
Module Active On Enable the main module filtering/tracking paths. Managed CSP and a separately applied server origin policy have their own lifecycle.
Blocked Email Domains Ten domains One domain per line, checked during registration.
Block Non-Latin Characters On Check names against the selected blocked scripts. Change this before accepting customers whose names use those scripts.
Blocked Character Scripts Cyrillic, Chinese, Japanese, Korean, Arabic, Hebrew, Thai, Devanagari Scripts rejected by the name check.
Block Gibberish Names On Check names for random-looking content. Review false positives in blocked attempts.
Enable Honeypot Fields On Add the hidden registration field and reject a filled value. Contact protection also checks this posted field if present.
Enable Contact Form Protection On Run contact spam checks through supported form integration.
Contact Form Spam Keywords Built-in phrase list One phrase per line. Defaults include guest post, link building, backlink, SEO services, digital marketing, cryptocurrency and online casino. Remove phrases that are legitimate subjects for your shop.
Block Links in Contact Form On Reject messages exceeding Max Links Allowed.
Max Links Allowed 3 Contact-message link limit.
Enable Comment Protection On Check supported product-comment submissions.
Enable Bot Fight Mode Off Enable the optional JavaScript challenge path, subject to runtime enforcement mode and verified-address exemptions.
Challenge Suspicious User-Agents On Check suspicious automation signals when Bot Fight is enabled. This is not crawler identity verification.

The initial domain list is:

qq.com
163.com
126.com
sina.com
sina.cn
sohu.com
21cn.com
tom.com
139.com
yeah.net

Registration checks include bans, rate limits, domain checks, scripts, name patterns and the honeypot. Contact checks include bans, the posted honeypot, limits, phrases, names and links. Comment checks include bans, limits, names, spam content and more than two links. A third-party form/comment module must invoke the relevant PrestaShop integration path.

The registration honeypot name is generated from the module name. Do not add a visible CAPTCHA or hard-code an old honeypot name into your theme as part of normal setup.

Set block behavior and trusted IPs

Open Block Behavior.

Setting Default Effect
Block Site Access Off Site-level response for detected threats.
Block Registration On Apply registration blocking.
Block Contact Form On Apply contact blocking.
Block Email Sending On Apply the module's email-blocking path. This is separate from enabling outgoing-email monitoring.

Under IP Management, Whitelisted IPs starts empty. Enter trusted IPs one per line, for example:

203.0.113.10
198.51.100.25

Global whitelisting bypasses module request/action checks and the in-PHP capacity admission. It does not remove security headers or rewrite an external origin policy.

Action-specific whitelist exceptions are also available for cart, registration, contact and comment. They bypass the corresponding rate limits rather than granting the same broad exemption as the global list. Manage IP actions from the session/IP tools where available; these are not four separate fields in the current Configuration form.

Bans can be global or action-scoped, including cart, login, registration, contact and comment. Check the scope before removing a ban or adding a global exception.

Set action and global rate limits

Use Configuration > Action Rate Limits. Enable Rate Limiting defaults on.

Setting Default per IP
New Cart Hourly Limit 20
New Cart Daily Limit 100
Registration Hourly Limit 3
Registration Daily Limit 5
Contact Hourly Limit 5
Contact Daily Limit 15
Comment Hourly Limit 5
Comment Daily Limit 20

Raise an action limit only after checking the relevant blocked attempts and whether several real users share an address.

Under Global Limits, Enable Global Rate Limiting defaults on, Requests Per Minute to 60 and Requests Per Hour to 1200.

Trusted reverse-proxy CIDRs starts empty. Add a proxy or load-balancer range only when PHP sees that proxy as REMOTE_ADDR. Cloudflare ranges and loopback are already trusted. Forwarded client-IP headers are accepted only from trusted peers. Wrong proxy configuration can make many customers appear to have the same address.

The internal firewall_runtime_mode defaults to monitor. The module logs proposed firewall, ban, global-rate and Bot Fight interventions in monitor mode; enforce applies them and off disables that runtime layer. This key is not exposed as the old visible Configuration switch. Use support/operator configuration for a deliberate runtime-mode change. Action-specific submission checks remain active in monitor mode and can reject form submissions.

Configure capacity and crawler handling

Open Configuration > Capacity.

Setting Default Effect
Capacity guard On / enforce Limit concurrent renders. Monitor only records decisions; Off disables this in-PHP guard.
Pages rendered at once 0 Automatic CPU-based capacity, bounded from 2 to 32. An explicit value sets public page capacity; checkout/account capacity and background capacity have their own reserved shares.

Pages served from page cache do not consume a render slot. When a lane is full, the in-PHP guard returns HTTP 503 with Retry-After, X-MPR-Capacity: busy and a retry ticket. Normal page requests receive a small retry page. Form submissions ask the visitor to submit again; the body is not automatically replayed.

Open Monitoring > Crawlers to inspect named traffic. User-agent crawler names are report labels. The module does not let you allow or block a crawler family merely by that name.

Search and AI crawler identity is verified by address using operator-published ranges or proven reverse DNS. Verified addresses are exempt from per-address throttling and challenges. A claimed Googlebot user agent is not sufficient. Verified crawlers still contribute server load handled by capacity controls.

The module does not offer the old configurable per-crawler crawl budget or Redis weighted facet token bucket. There is no current setup for Bucket Capacity, Single Filter Cost or the old X-MPR-Facet-Limiter response. Use the actual capacity controls and supported listing integration instead.

Review sessions and behavior scores

Open Monitoring > Sessions and its settings panel. Activity and Traffic provide related request and action reports.

Setting Default Effect
Enable Session Tracking On Record visitor sessions.
Session Timeout (minutes) 60 Inactivity timeout.
Admin / Internal IPs Empty Exclude listed internal IPs from tracking, visitor statistics and related notifications. This is not the protection whitelist.
Real Session Retention (hours) 2160 Human-session retention, 90 days.
Bot Session Retention (hours) 24 Bot-session retention.
Cart Action Retention (hours) 720 Cart-action retention, 30 days.
Enable Cart Action Tracking On Record add, remove and update actions.
Enable Behavior Analysis On Score supported browsing patterns. Runtime enforcement still depends on its mode.
Max Pages Per Session 200 Session page-count threshold.
Max Pages Per Minute 30 Rapid-browsing threshold.
Max Sessions Per IP (24h) 50 IP session-count threshold.
Max Pages Per IP (24h) 500 IP page-count threshold.
Warning Score Threshold 50 Warning score.
Block Score Threshold 80 Proposed block threshold.
Exempt Verified Crawlers On Skip behavior checks for verified crawler addresses.

Use the Scoring Points settings only after inspecting actual score breakdowns.

Setting Default points
High Pages - Base Points 20
High Pages - Per 50 Extra 5
High Pages - Max Points 60
Rapid Crawl - Base Points 25
Rapid Crawl - Per 10 Over 5
Rapid Crawl - Max Points 60
Many Sessions - Base Points 10
Many Sessions - Per 10 Over 5
High IP Pages - Base Points 15
High IP Pages - Per 100 Over 5

Other internal defaults: page counters on, detailed page history off, 10 points for a visitor not yet recognized as human, analysis after 5 page views and request logs kept for 24 hours. General debug and registration debug are both off by default. Not all of these have their own field on the current form; ask support for temporary logging changes.

Configure security headers

Open Protection > Headers. Review the current analysis before applying a preset, because presets change several values.

Field Default Setup
X-Frame-Options SAMEORIGIN Check any legitimate framing requirement before changing it.
X-XSS-Protection Off Legacy browser header.
X-Content-Type-Options (nosniff) On Send MIME sniffing protection.
Referrer-Policy strict-origin-when-cross-origin Referrer information policy.
HSTS (Strict-Transport-Security) Off Sent for HTTPS when enabled.
HSTS Max-Age (seconds) 31536000 HSTS lifetime.
HSTS Include Subdomains Off Extend HSTS to subdomains.
HSTS Preload Off Add the preload directive.
Enable CSP Off Enable the saved Content Security Policy.
Report-Only Mode (recommended for testing) On Report violations before enforcing CSP.

Edit the CSP policy and source controls for the domains your shop actually loads. The baseline includes self and common PrestaShop, Google and media sources, but your payment, analytics or embedded services may need more. Test checkout, fonts, media and widgets, then review violations before enforcing.

Permissions-Policy and cross-origin policy values are empty by default. These values are not all available as labeled controls under Headers.

Security-header handling is enabled by default. Managed CSP can also be reconciled into .htaccess. Turning Module Active off does not by itself remove that separately managed CSP. Disabling or uninstalling the module removes its managed .htaccess CSP block and can fail if cleanup cannot be completed.

Configure outgoing-email monitoring

Open Protection > Email and its configuration area.

Field Default Effect
Enable Email Security Off Enable logging and outgoing-email checks.
Enable Rate Limiting Off Enable non-transactional email rate limits.
Max emails per recipient (hourly) 10 Per-recipient hour limit.
Max emails per recipient (daily) 30 Per-recipient day limit.
Max emails per IP (hourly) 20 Per-IP hour limit.
Max password reset emails (hourly) 3 Password-reset limit.
Block Disposable Emails Off Check known disposable recipient domains.
Volume Spike Alerts Off Alert on unusual hourly sending.
Volume Alert Threshold 2.0 Multiplier over average.
Mass Sending Alerts Off Alert on many unique recipients from an IP in a short period.
Mass Sending Threshold 50 Unique-recipient threshold in the five-minute detection window.

Save, then inspect recorded status, type and recipient data. Order confirmations, order status, invoices, credit slips and account-creation messages are excluded from the email rate limiter. That exemption does not mean every unrelated delivery failure is prevented.

Run file and vulnerability checks

Open Protection > File Monitor. Create a baseline only after a known-clean installation or trusted update. Run a scan and review changed, missing, new or suspicious files. Recreate the baseline only after verifying legitimate changes.

The scanner monitors classes, controllers, src, override, config and modules, for PHP, Smarty, JavaScript and .htaccess files. It excludes cache, logs, uploads, images, downloads, vendor libraries and node_modules. A baseline is not a complete forensic scan of every file.

Open Protection > Vulnerabilities to run the available version and server-setting checks.

Set up private backups and schedules

Open Backup > Settings before creating an archive.

Field Default Setup
Private backup directory Empty, automatic validated location beside the shop Use an absolute path outside every served web root. Both PHP and cron must be able to write it.
Effective private directory Calculated Confirm that the displayed resolved path is available.
Enable backups Off Enable backup work.
Retention (days) 30 Age retention.
Retention (count) 10 File-count retention.
Notification email Empty Address for backup notices.
Notify on success Off Successful-backup notices.
Notify on failure Off Failure notices.
Default storage local Default storage choice.

If MPR_SECURITY_BACKUP_DIR is defined in the shop bootstrap, it overrides the editable directory. Save directory changes before relocating existing archives. The relocation workflow verifies files before removing originals.

Use Backup > Backups for a manual backup and inspect its completed result. Use Storage for local storage configuration. Backups use local storage; FTP, SFTP, S3 and WebDAV destinations are unavailable. Keep an independent off-server copy using your hosting/operations workflow.

Open Backup > Schedules and add a named schedule.

Field Default Setup
Schedule Name Empty Required identifier.
Backup Type full Select the available type.
Backup Scope full Select the available scope.
Frequency daily Interval.
Run Time 03:00:00 Shop/server scheduling time.
Run Day 0 for weekly fallback, 1 for monthly fallback Monthly days must be 1 to 31.
Storage local Storage destination.
Retention (count) 7 Schedule file-count retention.
Retention (days) 30 Schedule age retention.
Notify Email Empty Schedule notice recipient.
Active On Enable this schedule.

New schedules default to success notifications off and failure notifications on. Check the available notification controls in your installed schedule form. A saved active schedule still needs the runner described next.

Configure cron and check its result

Use Settings > Scheduled Tasks for shared jobs and Backup > Cron System for backup runner setup/status. Copy the real token from the module.

* * * * * php /var/www/html/modules/mprsecurityrevolution/cron.php --token=YOUR_TOKEN --max-tasks=20 --max-seconds=55 --context=cron

Change the paths for your host. HTTP execution is also supported:

curl 'https://yourshop.example/modules/mprsecurityrevolution/cron.php?token=YOUR_TOKEN'

CLI defaults are 20 tasks, 55 seconds and context cron. Supported contexts are cron, front and admin. The minute runner dispatches active due tasks; individual jobs retain their own schedules. These include scheduled backups, security/rate-limit/request/session cleanup, GeoIP work, visitor classification, buffered reporting and crawler-address maintenance.

Check the runner output and task state. For backups, also check that a finished archive appears in the private directory, since a backup can fail after the scheduler starts it.

Configure administrative login security

Open Settings > Admin Security. Check recovery access before enabling authentication enforcement.

Field Default Effect
Login protection Off Enable failed-login throttling.
Lockout mode Soft Soft uses a timed lockout; hard lockouts need administrative recovery.
Attempts / window / lockout 5 / 15 / 30 Attempts, observation minutes and soft-lockout minutes.
Challenge employees who enabled 2FA On Enforce challenges for enrolled employees.
Require 2FA for all employees Off Require enrollment for all employees.
Fail open on 2FA errors On Allow the configured recovery behavior on supported 2FA failures. An unreadable policy can still refuse login.
Session IP lock Off Check administrative session IP consistency.
Step-up 2FA scaffold Off Enable additional authentication for supported administrative operations.
Step-up TTL minutes 15 Step-up interval.
Audit log Off Record admin-security audit activity.
Retention days Audit 90, login 30 Retention for the two admin log types.
Trusted admin IPs/CIDRs Empty Administrative trust list, separate from the storefront whitelist.

Enroll your own authenticator, verify a challenge and keep backup codes before requiring all employees to enroll. Review Monitoring > Admin Security Logs.

For an operator with server access, the installed recovery utility supports:

php modules/mprsecurityrevolution/bin/admin-security-escape.php --clear-lockouts
php modules/mprsecurityrevolution/bin/admin-security-escape.php --disable-enforcement

--all combines both. Use the installed utility and inspect its result; recovery changes authentication enforcement and must be followed by reconfiguration.

Review the separate origin protection policy

The additional Origin protection form saves a desired server policy. It does not deploy it. It supports one root-URL shop with one shared HTTP/HTTPS host and this module as active firewall owner. Multishop, non-root URLs and multiple active shop URLs are unsupported for this origin policy.

No policy thresholds are enabled automatically. Choose Origin protection mode and Shared pool rate mode as Observe or Enforce. Fill Total workers from 3 to 64, equal to the sum of all pool workers.

Configure all three pools: Public pool, Interactive checkout, account and payment pool, and Administration, downloads and long operations pool. Each has:

Field Required range
Workers (1 to 64) 1 to 64
Concurrent requests across the pool (1 to pool workers) Up to pool workers
Concurrent requests per IP (1 to pool concurrency) Up to pool concurrency
Requests per second per IP (1 to 100) 1 to 100
Per-IP burst (1 to 100 requests) 1 to 100
Shared requests per minute (1 to 6000) 1 to 6000
Shared burst (1 to 100 requests) 1 to 100
Request deadline (2 to 600 seconds; operator topology review required) 2 to 600 seconds

An operator must separately apply the policy and any worker/deadline deployment. A matching applied receipt records the last application, not ongoing service health. Export or import the complete desired policy with:

php modules/mprsecurityrevolution/bin/origin-protection.php export
php modules/mprsecurityrevolution/bin/origin-protection.php import < complete-policy.json

Neither command is a server deployment command. Shared pool rate limits cover all addresses and URLs in the pool without cookie or user-agent exemptions.

Verify and troubleshoot

Test one controlled registration and contact submission first. Inspect Protection > Blocked for type, reason, IP, available email, data and timestamp. Reasons can include rate limits, blocked domains, honeypot, non-Latin names, gibberish, banned IPs, spam keywords and excess links.

Test capacity in Monitor only before tuning limits on a busy shop. Distinguish the in-PHP 503 response from per-IP rate-limit or form errors. Check forwarded-IP configuration if many visitors share one apparent IP. Check verified-address data before treating a crawler label as trusted.

For missing data, review session tracking, internal-IP exclusions, retention and cron results. For blocked real customers, inspect the exact rule and scope before adding exceptions. For header problems, inspect the response headers, CSP violations and managed .htaccess state. For backup failures, check the effective private path, both PHP/CLI permissions, available space and the task error.

Use Settings > Integrity for installation checks. Keep PrestaShop and modules updated and retain tested backups outside the shop; the module's scans and local archives do not replace those operations.

Uninstall

Export logs and copy backups you need before uninstalling. Review any operator-deployed origin policy separately, because saving or removing the module is not the same as changing server topology.

Disable/uninstall through Module Manager only after checking managed CSP cleanup. Uninstall removes module-owned tables and scheduled tasks, with shared session/page-view cleanup handled by the shared package. Do not assume that module logs and configuration survive. Preserve private backup archives independently before removing module files.

Compatibility

Requires PrestaShop 1.6.1 or later and PHP 7.1 or later.

Questions

No questions about this module yet

Ask anything about installation, compatibility or setup. Answers appear here.

Known Issues

25

Backup restore fails when destination folders were deleted

ResolvedUpdated:
Fixed in: 3.18.5
A backup restore could fail to recreate missing destination directories inside the shop.

Blocked-visitor text contains damaged translations

ResolvedUpdated:
Fixed in: 3.18.1
French and Italian blocked-visitor messages could display damaged text.

File integrity baseline reports incomplete work as successful

ResolvedUpdated:
Fixed in: 3.18.1
Baseline creation could report success after failing to read or save some files, and filenames differing only by case could collide.

Corrected contact messages remain blocked

ResolvedUpdated:
Fixed in: 3.18.1
Contact messages could be rejected because links were counted twice or a previous refusal remained active after the message was corrected.

Maintenance health reports success despite cleanup failures

ResolvedUpdated:
Fixed in: 3.18.0
Retention health could look successful even when cleanup tasks were disabled or nested cleanup work failed.

Missing local country data is not clearly reported

ResolvedUpdated:
Fixed in: 3.17.3
Country and TOR rules could be enabled without clear warnings that required local data was missing.

Dashboard sessions and filters fail

ResolvedUpdated:
Fixed in: 3.17.3
Dashboard session queries and session or activity filters could fail or return incorrect results.

Visitor requests perform security maintenance

ResolvedUpdated:
Fixed in: 3.17.3
Request reporting, retention and scheduled backups could add maintenance work to visitor page loads.

One schedule can remove another schedule's backups

ResolvedUpdated:
Fixed in: 3.17.0
Backup retention could remove manual backups or archives belonging to other schedules.

Unavailable backup storage prevents settings saves

ResolvedUpdated:
Fixed in: 3.17.1
Saving unrelated settings could fail when the configured backup storage was unavailable.

Visitor sessions fail on PHP 7.1

ResolvedUpdated:
Fixed in: 3.17.0
Visitor session functionality could fail to load on PHP 7.1.

Older filter integration causes an error

ResolvedUpdated:
Fixed in: 3.17.0
A shop using an older filter integration could encounter an error during request admission.

Activity and backup administration screens fail

ResolvedUpdated:
Fixed in: 3.17.0
Activity details and backup scheduling screens could fail because they requested unavailable functionality.

Manual scheduled backups do not run

ResolvedUpdated:
Fixed in: 3.17.0
The Run action on a backup schedule could fail to run the selected backup or record its history.

Notification tabs disappear

ResolvedUpdated:
Fixed in: 3.13.5
Dashboard notification tabs could be lost after module changes.

Background actions fail on PrestaShop 9

ResolvedUpdated:
Fixed in: 3.13.5
Some background administration actions could fail on PrestaShop 9.

Administrator security screens fail to open

ResolvedUpdated:
Fixed in: 3.13.5
Administrator security screens could fail when loading their assets.

Monitor mode changes visitor responses

ResolvedUpdated:
Fixed in: 3.13.5
Firewall monitor mode could affect visitor requests instead of only recording activity.

Security hardening

ResolvedUpdated:
Fixed in: 3.8.4
Security hardening.

Administration filters return incorrect results

ResolvedUpdated:
Fixed in: 3.8.4
Filters across the security administration lists could fail to narrow results correctly.

Notification list shows unwanted automated visits

ResolvedUpdated:
Fixed in: 3.8.4
Automated visitor bursts could appear in notifications and obscure useful visitor activity.

Cached-page visitors are missing from sessions

ResolvedUpdated:
Fixed in: 3.8.4
Visitors served cached pages could fail to appear in the session list.

Visitor page counts are inflated

ResolvedUpdated:
Fixed in: 3.8.4
Visitor notifications could count more page views than the visitor actually made.

IP whitelist blocks Cloudflare proxy IPs instead of real visitor IPs

ResolvedUpdated:
Fixed in: 3.5.0

When the store is behind Cloudflare, the firewall sees Cloudflare's IP addresses instead of real visitor IPs. All legitimate traffic gets blocked.

Resolution note

Added Cloudflare IP range detection and CF-Connecting-IP header parsing.

Admin activity log grows unbounded — database table exceeds 500MB

ResolvedUpdated:
Fixed in: 3.4.0

The admin activity log has no rotation or cleanup mechanism. On active stores with multiple admins, the log table grows to 500MB+ within a year.

Resolution note

Implemented automatic daily log cleanup via the shared cron system. Logs older than 90 days are purged automatically at 04:00. Additional cleanup tasks run hourly for rate limits and request logs, and daily for blocked attempts and sessions. No manual intervention required — works automatically on stores with cron enabled.

Feature Requests

18

Implemented

TOTP two-factor authentication for back-office accounts

Implemented
Back-office staff can enable TOTP two-factor authentication for their accounts. Setup is available on the module's Admin Security page.

TOTP two-factor authentication for back-office employees

Implemented
Back-office employees can enrol with individual QR codes and use TOTP or backup codes for login verification. Required enrolment is controlled in the module's admin security settings.

Runtime firewall monitor mode

Implemented
Monitor mode records which requests the runtime firewall would block while allowing those requests to continue. Merchants can review rule matches before enabling enforcement.

Visitor session intelligence

Implemented
Review verified visitor sessions with country information, nicknames and behavior tags.

Session notification exclusions

Implemented
Exclude selected IP addresses from visitor session notifications.

Separate session retention

Implemented
Choose how long human and bot sessions are retained.

Updates from the back office

Implemented
Check for and install module updates from the back office.

Multilingual administration

Implemented
Use the module administration in French, German, Spanish, Italian and Polish.

Runtime firewall and security headers

Implemented
Configure runtime firewall protection, start in monitor mode and manage security headers.

Central security hub

Implemented
Connect shops to a central security hub, request scans and review aggregated results.

Administrator login protection

Implemented
Configure administrator login protection and optional two-factor authentication.

Content Security Policy management

Implemented
Manage Content Security Policy with contributions from compatible integrations.

Shop capacity protection

Implemented
Set request budgets and protect essential checkout, account and download operations when the shop is busy.

Verified crawler capacity reporting

Implemented
Review verified crawler addresses and recent capacity activity in the administration.

Private backup storage settings

Implemented
Choose a private backup location and relocate existing archives with verification.

Managed local country database

Implemented
Manage a local DB-IP Lite country database and country blocking settings from the Countries page.

Crawler request budgets

Implemented
Configure request budgets for crawlers.

Filtered-page rate limiting

Implemented
Apply weighted request limits to filtered listing traffic.

Changelog

v3.8.72026-05-27

  • AddedTiered session retention — 90d humans, 24h bots, configurable
  • Addedcomplete FR/DE/ES/IT/PL translations
  • FixedPreserve dashboard notification tabs
  • FixedMigrate module state to MPR config
  • FixedHarden security notifications and crawler policy
  • FixedHarden public security front endpoints
Older releases

v3.4.02026-04-20

  • AddedConfigurable excluded IPs for session notifications
  • AddedPass country code to visitor labels for country-prefixed IDs
  • AddedUnique visitor IDs — pass IP to primaryLabel for #XX suffix
  • AddedAdd visitor nicknames and behavior tags to session tracking
  • AddedLicense management tab with key management and renewal options
  • Addedself-healing integrity checks for automatic diagnostics and repair
  • Addedcomplete FR/DE/ES/IT/PL translations
  • ImprovedSessions controller extends shared BaseSessionsController
  • ImprovedUse behavior-based labels instead of random nicknames
  • Improvedadmin list columns with visual badge indicators and multiselect filters
  • Improvedsettings form organization with tabbed layout
  • ImprovedSEO handling with proper canonical URLs and meta tags on all front pages
  • FixedHeadless browser detection via WebGL renderer in JS verification beacon
  • FixedNotification panel time-ago and switch to date_last_activity
  • FixedVerifyJS creates session when none exists (CF cache visitors)
  • Fixedvarious stability and compatibility improvements (8 fixes total)
  • Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns

v3.3.12026-01-05

  • AddedPS 9 / Hummingbird theme compatibility
  • Fixedfalse-positive file-integrity alert on PS 9 Symfony cache manifest files
  • Improvedaudit-log export — CSV now includes IP, user-agent, and session ID columns

v3.3.02025-12-08

  • AddedTOTP-based 2FA for all admin employees with per-user enrolment QR codes
  • Addedsecurity-headers auto-configuration (CSP, HSTS, X-Frame-Options, Referrer-Policy)
  • Improvedmalware scanner — pattern database updated to 2025-Q4 signature set

v3.2.02025-09-22

  • Addedscheduled malware scan with email alert on detection
  • Addedbrute-force lockout with exponential back-off and admin override
  • Improvedaudit log — now captures admin controller access and bulk-action events

v3.1.02025-07-01

  • Addedfile-integrity monitoring with configurable exclusion list
  • AddedIP reputation check against public abuse-IP database
  • Improvedbrute-force protection: distributed tracking via Redis for multi-server shops

v3.0.12025-04-17

  • Fixedlogin-attempt counter not resetting after successful authentication
  • Fixedaudit log table not created on fresh installs of some PS 1.7.7.x builds

v3.0.02025-02-05

  • Major release: complete security suite for PrestaShop
  • File integrity monitoring, brute-force protection, 2FA, malware scanning
  • Comprehensive audit log for all admin actions
  • Security-headers manager and HTTP response hardening
  • Compatible with PS 1.7.x and PS 8.x

Demo

Test the full module before you buy

Buy a licence later and keep your settings.

  • Your 30-day demo Test it on your own shop for 30 days from the first install.
  • Ready demo shop Explore a ready demo shop in your browser.
  • No registration No account, email or store domain needed.
Launch demo shop

By downloading, you accept the demo terms and privacy policy.

By opening this demo you accept the demo terms and the privacy policy.

Loading...
Back to top