Country Based Restrictions for WooCommerce Security & Risk Analysis

wordpress.org/plugins/woo-product-country-base-restrictions

Restrict WooCommerce products by country — hide or block purchases using geolocation so only customers in allowed countries can buy.

5K active installs v3.7.7 PHP 7.0+ WP 5.3+ Updated Feb 10, 2026
country-restrictiongeolocationproduct-visibilityrestrict-productswoocommerce
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Country Based Restrictions for WooCommerce Safe to Use in 2026?

Generally Safe

Score 100/100

Country Based Restrictions for WooCommerce has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 3mo ago
Risk Assessment

This plugin exhibits a generally strong security posture, with no recorded vulnerabilities or critical taint analysis findings. The code demonstrates good practices regarding SQL query sanitization and output escaping, with nearly all SQL queries using prepared statements and a very high percentage of outputs being properly escaped. The absence of file operations and external HTTP requests also reduces potential attack vectors.

However, there are notable areas of concern stemming from the static analysis. The plugin exposes a significant attack surface through its AJAX handlers, with 4 out of 5 handlers lacking authentication checks. This is the primary risk identified, as unauthenticated AJAX endpoints can be exploited by attackers to trigger unintended actions. While the plugin has a history of zero vulnerabilities, relying solely on this history can be misleading. The lack of comprehensive permission checks on its AJAX endpoints presents a tangible risk that needs to be addressed.

In conclusion, while the plugin benefits from a clean vulnerability history and robust data handling practices, the unsecured AJAX endpoints present a significant security weakness. Prioritizing the implementation of proper authentication and capability checks on these endpoints is crucial to mitigate potential risks.

Key Concerns

  • Unprotected AJAX handlers
  • Large attack surface without auth
Vulnerabilities
None known

Country Based Restrictions for WooCommerce Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Version History

Country Based Restrictions for WooCommerce Release Timeline

v3.7.7Current
v3.7.6
v3.7.5
v3.7.4
v3.7.3
v3.7.2
v3.7.1
v3.7.0
v3.6.8
v3.6.7
v3.6.6
v3.6.5
v3.6.4
v3.6.3
v3.6.2
v3.6.1
v3.6
v3.5
v3.4
v3.3
Code Analysis
Analyzed Mar 16, 2026

Country Based Restrictions for WooCommerce Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
2 prepared
Unescaped Output
7
300 escaped
Nonce Checks
4
Capability Checks
2
File Operations
0
External Requests
1
Bundled Libraries
1

Bundled Libraries

Select2

SQL Query Safety

100% prepared2 total queries

Output Escaping

98% escaped307 total outputs
Data Flows · Security
All sanitized

Data Flow Analysis

4 flows
cbr_setting_form_update_callback (include\admin-settings.php:98)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
4 unprotected

Country Based Restrictions for WooCommerce Attack Surface

Entry Points6
Unprotected4

AJAX Handlers 5

authwp_ajax_cbr_setting_form_updateinclude\admin-settings.php:62
authwp_ajax_set_widget_countryinclude\admin-toolbar.php:59
noprivwp_ajax_set_widget_countryinclude\admin-toolbar.php:60
authwp_ajax_set_cart_page_countryinclude\admin-toolbar.php:62
noprivwp_ajax_set_cart_page_countryinclude\admin-toolbar.php:63

Shortcodes 1

[cbr_message_position] include\products-restriction.php:77
WordPress Hooks 36
actionadmin_initinclude\admin-notice.php:58
actionadmin_noticesinclude\admin-notice.php:64
actioncbr_settings_admin_noticeinclude\admin-notice.php:67
actionadmin_menuinclude\admin-settings.php:59
filteradmin_body_classinclude\admin-settings.php:66
actionwp_before_admin_bar_renderinclude\admin-toolbar.php:65
filterwoocommerce_maxmind_geolocation_update_database_periodicallyinclude\products-restriction.php:63
filterwoocommerce_is_purchasableinclude\products-restriction.php:66
filterwoocommerce_variation_is_purchasableinclude\products-restriction.php:67
filterwoocommerce_available_variationinclude\products-restriction.php:68
filterwoocommerce_subscription_variation_is_purchasableinclude\products-restriction.php:71
actionwoocommerce_single_product_summaryinclude\products-restriction.php:79
actionpre_get_postsinclude\products-restriction.php:83
filterwoocommerce_cart_item_removed_messageinclude\products-restriction.php:86
actiontemplate_redirectinclude\products-restriction.php:89
actionwoocommerce_calculated_shippinginclude\products-restriction.php:92
actionwoocommerce_review_order_after_shippinginclude\products-restriction.php:95
filterwoocommerce_shortcode_products_queryinclude\products-restriction.php:98
filterwoocommerce_related_productsinclude\products-restriction.php:100
filterwoocommerce_product_get_upsell_idsinclude\products-restriction.php:102
actionpre_get_postsinclude\products-restriction.php:337
actionwoocommerce_process_product_metainclude\single-product.php:60
actionwoocommerce_product_data_panelsinclude\single-product.php:61
filterwoocommerce_product_data_tabsinclude\single-product.php:62
actionwoocommerce_product_after_variable_attributesinclude\single-product.php:64
actionwoocommerce_save_product_variationinclude\single-product.php:65
actionplugins_loadedwoocommerce-product-country-base-restrictions.php:53
actionadmin_noticeswoocommerce-product-country-base-restrictions.php:55
actionwp_headwoocommerce-product-country-base-restrictions.php:130
actionadmin_enqueue_scriptswoocommerce-product-country-base-restrictions.php:133
actionupgrader_process_completewoocommerce-product-country-base-restrictions.php:136
actionadmin_noticeswoocommerce-product-country-base-restrictions.php:215
actionbefore_woocommerce_initwoocommerce-product-country-base-restrictions.php:316
actionadmin_enqueue_scriptszorem-tracking\zorem-tracking.php:39
actioninitzorem-tracking\zorem-tracking.php:78
actionadmin_initzorem-tracking\zorem-tracking.php:80
Maintenance & Trust

Country Based Restrictions for WooCommerce Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedFeb 10, 2026
PHP min version7.0
Downloads225K

Community Trust

Rating90/100
Number of ratings52
Active installs5K
Developer Profile

Country Based Restrictions for WooCommerce Developer Profile

Zorem

4 plugins · 70K total installs

78
trust score
Avg Security Score
99/100
Avg Patch Time
274 days
View full developer profile
Detection Fingerprints

How We Detect Country Based Restrictions for WooCommerce

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/woo-product-country-base-restrictions/assets/css/admin.css/wp-content/plugins/woo-product-country-base-restrictions/assets/js/admin.js
Script Paths
/wp-content/plugins/woo-product-country-base-restrictions/assets/js/admin.js
Version Parameters
woo-product-country-base-restrictions/assets/css/admin.css?ver=woo-product-country-base-restrictions/assets/js/admin.js?ver=

HTML / DOM Fingerprints

JS Globals
ZH_Product_Country_Restrictions
FAQ

Frequently Asked Questions about Country Based Restrictions for WooCommerce