Customer Extra Info (IP Ban): setup and help

Quick start

  1. Upload the module ZIP in Modules > Module Manager and open Configure.
  2. Enable Enable Data Collection and choose Track Guest Visitors.
  3. Choose Show Info on Orders and set Default Ban Message, then save.
  4. Log in as a test customer and verify the collected information in the back office.
  5. Add your trusted IP in IP Whitelist.
  6. Add a controlled test rule in Banned IPs with Ban Type, Active and an optional future Expiry Date.
  7. Verify the intended 403 response, then disable or remove the test rule.

Requires PrestaShop 1.6.1 or later and PHP 7.1 or later.

Setup manual

Install and configure collection

  1. Upload Customer Extra Info (IP Ban) in Modules > Module Manager.
  2. Open Configure to reach Settings.
  3. Review the collection and order-panel switches and save.
  4. Log in to the storefront as a test customer. Wait for the collector request, then inspect the customer in the back office.
  5. Add trusted addresses in IP Whitelist before testing a ban in Banned IPs.

Requires PrestaShop 1.6.1 or later and PHP 7.1 or later.

Settings

Setting Installed default What it does
Enable Data Collection Yes Collects visitor technical information through storefront, login and account-creation hooks. Turn off to stop collection.
Track Guest Visitors Yes Allows collection for visitors who are not logged in. Associates a guest ID when available.
Enable IP Banning Yes Applies saved active ban rules to front-office requests. Turn off to suspend enforcement without deleting rules.
Show Info on Orders Yes Adds the customer technical-information panel on supported admin order pages.
Default Ban Message Your access to this website has been restricted. If you believe this is an error, please contact the store administrator. Set the multilingual default visitor message. A rule can override it.

The module also installs TRACK_OS, TRACK_BROWSER, TRACK_SCREEN and TRACK_USERAGENT as 1. The collector reads them, but the current Settings form has no controls for them. They govern operating-system, browser/version, screen and raw user-agent storage. They do not suppress IP, country or device-type collection.

Check customer information

The customer panel shows the latest collected IP, country, operating system, browser/version, screen dimensions, device type and collection date, plus recorded IP history. When Show Info on Orders is enabled, the order panel uses the order's customer record.

The browser collector loads through displayHeader and requests the module's collect controller about 1.5 seconds after the page is ready. It sends window.screen dimensions, not viewport dimensions. With working sessionStorage it records a sent request once per browser tab session. If storage is unavailable it can try again on later pages.

Server-side collection also runs after successful customer login and new account creation. It suppresses a new row for the same IP and customer or guest within one hour. A later screen request can fill missing dimensions in an existing recent row. These recorded dates are not a continuous live-presence history.

Country detection tries Cloudflare's country header, then available PrestaShop GeoIP support, then the country cookie. It can return no country. Country rules depend on those values.

Add whitelist entries

Open IP Whitelist and add your trusted address or network:

Field New-entry value What you do
IP Address Empty Enter an exact IP, wildcard pattern or supported IPv4 range.
CIDR Range Empty Enter an IPv4 subnet such as 203.0.113.0/24.
Label Empty Add an internal note such as Office IP or Developer VPN.

Examples include exact 203.0.113.10, wildcard 203.0.113.* and CIDR 203.0.113.0/24. Whitelist matching uses the same IP matcher as bans. It runs before ban matching and overrides country and user-agent rules too.

Records store the shop context. Whitelist checks in multishop include the current shop and entries with shop ID 0. Ban rules with a positive shop ID apply only to that shop; 0 means all shops.

Add a ban rule

Open Banned IPs, add a rule and fill one matching criterion for your first test.

Field New-entry value What you do
IP Address Empty Enter an exact address, wildcard such as 192.0.2.*, or IPv4 range such as 198.51.100.10-198.51.100.200.
CIDR Range Empty Enter an IPv4 subnet such as 192.0.2.0/24.
Country Empty Select a two-letter country code to match the detected country.
User Agent Pattern Empty Use case-insensitive plain text, such as BadBot, or slash-delimited regex such as /BadBot|Scraper/.
Ban Type Full Block - Entire Store (full) Choose Checkout Only (checkout) or Login/Authentication Only (auth) to narrow enforcement.
Reason Empty Add an internal note. It is not the visitor message.
Custom Ban Message Empty Override Default Ban Message for this rule.
Active Yes Turn off to retain the rule without enforcing it.
Expiry Date Empty Set a future date/time for temporary blocking, or leave empty for no expiry.

The stored values are full, checkout and auth. If several matching criteria are present in one rule, they act as alternative matches. They do not mean the visitor must match every field.

Full bans apply everywhere in the front office. Checkout scope matches controller names order, orderopc, cart, supercheckout, onepagecheckout and checkout. Account scope matches authentication, my-account, identity, registration and password. Scope follows the requested page controller; custom checkout or account routes must use the matching controller names.

A matching rule returns HTTP 403 Forbidden with the Access Restricted page. There is no redirect. Expired active bans are deactivated during a later ban check, not by a required cron job.

Verify and manage rules

Test from an address that you control while keeping your own trusted connection whitelisted. Confirm a full ban blocks browsing, a checkout ban affects the expected checkout controllers, and an inactive or expired rule no longer blocks that request. Confirm whitelisted requests pass.

The admin lists support filtering, edit/delete and export. The ban list includes bulk enable/disable. Review staff access to those module screens using PrestaShop employee profiles.

For a temporary checkout test, use an IPv4 range, Ban Type checkout, Active Yes and an expiry in the future. Dates earlier than the test time deactivate the rule.

Troubleshoot and customize

  • If a ban does not apply, check Enable IP Banning, Active, expiry, scope, shop and whitelist matches first.
  • Check the IP and country that the shop detects, especially behind a proxy. A browser's location or your expected public IP may differ from the request data used by the module.
  • IPv4 ranges and CIDR use ip2long. Use exact matching for IPv6; the module does not implement IPv6 subnet matching.
  • Regex matching runs only when the first and last characters are /. A pattern with flags after the closing slash is treated as plain text by this detection rule.
  • If customer screen information is empty, inspect the delayed collect request and JavaScript errors. A blocked request or an already-set sessionStorage flag can prevent a new request.
  • If an order panel is absent, check Show Info on Orders and your admin page's hook support. Collection history starts when you enable collection; there is no historical-device import.

The module uses displayHeader, actionFrontControllerInitBefore, displayAdminCustomers, displayAdminOrder, displayBackOfficeHeader, actionAuthentication and actionCustomerAccountAdd. Theme/admin stylesheet adjustments can target .mprceiipban-panel, its .panel-heading, .badge and table cells.

Disable or uninstall

Turn off Enable Data Collection and Enable IP Banning separately to suspend those actions. Uninstall from Module Manager removes module configuration, admin entries and the module schema, including collected information, bans and whitelist records. Back up those records first if you need them later.

Questions

No questions about this module yet

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

Known Issues

11

IPv6 addresses not matched by IP range ban rules

Open

Ban rules using CIDR notation (e.g., 2001:db8::/32) are ignored because the comparison function only handles IPv4 ranges.

Resolution note

Added IPv6 CIDR matching using PHP's inet_pton() for both IPv4 and IPv6 address comparisons.

IP-only ban rules could not be saved

ResolvedUpdated:
Fixed in: 2.0.16
Saving a ban for a single IP address could fail when no network range was entered.

Save and stay skipped validation or left the page

ResolvedUpdated:
Fixed in: 2.0.16
Save and stay did not consistently validate the submitted settings or keep the merchant on the current page.

Administration labels remained in English

ResolvedUpdated:
Fixed in: 2.0.16
Translated module administration labels could still appear in English.

Module could not load on PHP 7.1

ResolvedUpdated:
Fixed in: 2.0.12
The module could be rejected on PHP 7.1 because its packaged requirements were incorrect.

Security hardening

ResolvedUpdated:
Fixed in: 2.0.11
Security hardening.

Module classes failed to load

ResolvedUpdated:
Fixed in: 2.0.11
The module could fail to load its required components after an update.

Translated module text was damaged

ResolvedUpdated:
Fixed in: 2.0.11
Some administration text displayed damaged translations.

Existing module settings were not migrated correctly

ResolvedUpdated:
Fixed in: 2.0.7
Migrating module settings could fail to preserve saved configuration.

Administration failed with shared components

ResolvedUpdated:
Fixed in: 2.0.7
Module administration could fail when required compatibility support was missing or another module had already loaded a shared component.

Administration list filters did not work reliably

ResolvedUpdated:
Fixed in: 2.0.6
Administration list filters could ignore selected values or return incorrect results.

Feature Requests

4

Implemented

IPv4 subnet bans with CIDR notation

Implemented
IP bans can cover an entire IPv4 subnet using CIDR notation, such as /24. IPv6 ranges are not supported.

Multilingual administration

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

One-click updates

Implemented
Update the module from its administration page.

Protection module coordination

Implemented
Coordinate IP blocking with other installed modules that provide firewall protection.

Changelog

v2.0.62026-07-15

  • Addedcomplete FR/DE/ES/IT/PL translations
  • FixedMigrate module state to MPR config
Older releases

v3.4.02026-04-20

  • Addedadmin menu management via MenuInstaller for streamlined module setup
  • 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
  • Improvedadmin list columns with visual badge indicators and multiselect filters
  • Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns

v3.3.12026-02-14

  • AddedPrestaShop 9 and Hummingbird theme compatibility
  • FixedIP ban check not triggering on PS 9 when checkout uses the new Address controller route
  • Improvedsuspicious activity detection heuristics for headless browser and scripted fingerprints
  • Fixedback-office customer detail panel throwing a notice when customer has zero orders

v3.3.02025-11-27

  • AddedCIDR range support for IP bans enabling blocking of entire subnets (e.g. /24)
  • Addedautomatic temporary ban after configurable number of consecutive failed login attempts
  • Improvedban reason tooltip in back-office customer list for at-a-glance context
  • Fixedban not enforced on account registration when PS guest checkout is disabled

v3.2.12025-09-14

  • FixedPHP 8.3 deprecation notice in browser fingerprint user-agent parser
  • ImprovedIPv6 address normalization to prevent ban bypass via abbreviated notation

v3.2.02025-07-31

  • Addedconfigurable ban duration: permanent, temporary with hours/days, or session-only
  • Addedexport of full IP ban list to CSV for compliance archiving
  • Improveddetection of VPN and proxy IP addresses via configurable ASN blocklist
  • Fixedsession info panel not displaying on PS 1.7.8 back-office customer edit page

v3.1.02025-05-19

  • Addedcustomer technical details panel in back office showing OS, browser, screen resolution, and language
  • Addedban history log recording administrator name, timestamp, and reason for each action
  • ImprovedIP display with country flag and ISP name alongside the IP address
  • Fixedcustomer detail panel failing to load when PS back-office lazy load is active

v3.0.12025-03-12

  • FixedIP resolution failing behind Nginx reverse proxy when X-Forwarded-For header is not normalized
  • Improvedmultistore compatibility: bans can be applied shop-wide or scoped to a single shop

v3.0.02025-01-08

  • Redesigned ban management interface with dedicated IP ban list and full-text search
  • Addedone-click ban from customer list, order detail, and guest checkout views
  • Addedcustomizable ban message displayed to blocked visitors
  • Migrated module database schema to natively support IPv6 addresses
  • Addedsuspicious activity flag on customer record with configurable alert thresholds

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