Set WooCommerce Payment Gateway by URL Security & Risk Analysis

wordpress.org/plugins/bh-wc-set-gateway-by-url

Set the WooCommerce payment gateway in URLs sent to customers.

0 active installs v1.2.1 PHP 7.4+ WP 3.6.0+ Updated Unknown
payment-gatewayurlwoocommerce
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Set WooCommerce Payment Gateway by URL Safe to Use in 2026?

Generally Safe

Score 100/100

Set WooCommerce Payment Gateway by URL has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs
Risk Assessment

The "bh-wc-set-gateway-by-url" plugin v1.2.1 exhibits a mixed security posture. It demonstrates good practices by utilizing prepared statements for all SQL queries and properly escaping all output. Furthermore, the absence of known CVEs and a history of past vulnerabilities suggests a generally well-maintained codebase. However, a significant concern arises from the presence of two AJAX handlers that lack authentication checks. This creates a direct attack vector for unauthenticated users to interact with potentially sensitive functionality, increasing the overall risk. While taint analysis did not reveal critical or high severity issues, the two flows with unsanitized paths warrant attention and suggest that the plugin's input handling could be more robust. The plugin's vulnerability history is a positive indicator, implying stability, but the identified unprotected entry points represent a tangible risk that should be addressed.

Key Concerns

  • AJAX handlers without auth checks
  • Flows with unsanitized paths
Vulnerabilities
None known

Set WooCommerce Payment Gateway by URL Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Code Analysis
Analyzed Mar 17, 2026

Set WooCommerce Payment Gateway by URL Code Analysis

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

Output Escaping

100% escaped37 total outputs
Data Flows
2 unsanitized

Data Flow Analysis

4 flows2 with unsanitized paths
display_page (vendor-prefixed\brianhenryie\bh-wp-logger\src\Admin\class-logs-page.php:89)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
2 unprotected

Set WooCommerce Payment Gateway by URL Attack Surface

Entry Points3
Unprotected2

AJAX Handlers 3

authwp_ajax_bh_wp_logger_logs_deletevendor-prefixed\brianhenryie\bh-wp-logger\src\WP_Includes\class-plugin-logger-actions.php:136
authwp_ajax_bh_wp_logger_logs_delete_allvendor-prefixed\brianhenryie\bh-wp-logger\src\WP_Includes\class-plugin-logger-actions.php:137
authwp_ajax_wptrt_dismiss_noticevendor-prefixed\wptrt\admin-notices\src\Dismiss.php:68
WordPress Hooks 39
actionplugins_loadedsrc\class-bh-wc-set-gateway-by-url.php:86
actionadmin_enqueue_scriptssrc\class-bh-wc-set-gateway-by-url.php:99
filterplugin_row_metasrc\class-bh-wc-set-gateway-by-url.php:112
actioninitsrc\class-bh-wc-set-gateway-by-url.php:124
actionwoocommerce_after_register_post_typesrc\class-bh-wc-set-gateway-by-url.php:128
filterwoocommerce_get_checkout_payment_urlsrc\class-bh-wc-set-gateway-by-url.php:131
filterwoocommerce_format_log_entryvendor-prefixed\brianhenryie\bh-wp-logger\src\class-logger.php:99
actionwoocommerce_loadedvendor-prefixed\brianhenryie\bh-wp-logger\src\WooCommerce\class-wc-psr-logger.php:68
actionwoocommerce_loadedvendor-prefixed\brianhenryie\bh-wp-logger\src\WooCommerce\class-wc-psr-logger.php:97
filterdeprecated_function_trigger_errorvendor-prefixed\brianhenryie\bh-wp-logger\src\WP_Includes\class-functions.php:126
filterdeprecated_argument_trigger_errorvendor-prefixed\brianhenryie\bh-wp-logger\src\WP_Includes\class-functions.php:185
filterdoing_it_wrong_trigger_errorvendor-prefixed\brianhenryie\bh-wp-logger\src\WP_Includes\class-functions.php:247
filterdeprecated_hook_trigger_errorvendor-prefixed\brianhenryie\bh-wp-logger\src\WP_Includes\class-functions.php:316
actionplugins_loadedvendor-prefixed\brianhenryie\bh-wp-logger\src\WP_Includes\class-plugin-logger-actions.php:84
actionplugins_loadedvendor-prefixed\brianhenryie\bh-wp-logger\src\WP_Includes\class-plugin-logger-actions.php:87
actiondeprecated_function_runvendor-prefixed\brianhenryie\bh-wp-logger\src\WP_Includes\class-plugin-logger-actions.php:97
actiondeprecated_argument_runvendor-prefixed\brianhenryie\bh-wp-logger\src\WP_Includes\class-plugin-logger-actions.php:98
actiondoing_it_wrong_runvendor-prefixed\brianhenryie\bh-wp-logger\src\WP_Includes\class-plugin-logger-actions.php:99
actiondeprecated_hook_runvendor-prefixed\brianhenryie\bh-wp-logger\src\WP_Includes\class-plugin-logger-actions.php:100
actionadmin_initvendor-prefixed\brianhenryie\bh-wp-logger\src\WP_Includes\class-plugin-logger-actions.php:110
actionadmin_noticesvendor-prefixed\brianhenryie\bh-wp-logger\src\WP_Includes\class-plugin-logger-actions.php:112
actionadmin_initvendor-prefixed\brianhenryie\bh-wp-logger\src\WP_Includes\class-plugin-logger-actions.php:114
actionadmin_menuvendor-prefixed\brianhenryie\bh-wp-logger\src\WP_Includes\class-plugin-logger-actions.php:124
actionadmin_enqueue_scriptsvendor-prefixed\brianhenryie\bh-wp-logger\src\WP_Includes\class-plugin-logger-actions.php:125
actionadmin_enqueue_scriptsvendor-prefixed\brianhenryie\bh-wp-logger\src\WP_Includes\class-plugin-logger-actions.php:126
actioninitvendor-prefixed\brianhenryie\bh-wp-logger\src\WP_Includes\class-plugin-logger-actions.php:158
actioninitvendor-prefixed\brianhenryie\bh-wp-logger\src\WP_Includes\class-plugin-logger-actions.php:181
filterupload_dirvendor-prefixed\brianhenryie\bh-wp-private-uploads\src\API\class-api.php:138
actioninitvendor-prefixed\brianhenryie\bh-wp-private-uploads\src\WP_Includes\class-bh-wp-private-uploads.php:75
actioninitvendor-prefixed\brianhenryie\bh-wp-private-uploads\src\WP_Includes\class-bh-wp-private-uploads.php:87
actionadmin_initvendor-prefixed\brianhenryie\bh-wp-private-uploads\src\WP_Includes\class-bh-wp-private-uploads.php:100
actionadmin_noticesvendor-prefixed\brianhenryie\bh-wp-private-uploads\src\WP_Includes\class-bh-wp-private-uploads.php:102
actionadmin_initvendor-prefixed\brianhenryie\bh-wp-private-uploads\src\WP_Includes\class-bh-wp-private-uploads.php:104
actioninitvendor-prefixed\brianhenryie\bh-wp-private-uploads\src\WP_Includes\class-bh-wp-private-uploads.php:116
actioninitvendor-prefixed\brianhenryie\bh-wp-private-uploads\src\WP_Includes\class-bh-wp-private-uploads.php:126
actioninitvendor-prefixed\brianhenryie\bh-wp-private-uploads\src\WP_Includes\class-bh-wp-private-uploads.php:170
filterupload_dirvendor-prefixed\brianhenryie\bh-wp-private-uploads\src\WP_Includes\class-rest-private-uploads-controller.php:121
actionadmin_noticesvendor-prefixed\wptrt\admin-notices\src\Notices.php:47
actionadmin_initvendor-prefixed\wptrt\admin-notices\src\Notices.php:50
Maintenance & Trust

Set WooCommerce Payment Gateway by URL Maintenance & Trust

Maintenance Signals

WordPress version tested6.0.11
Last updatedUnknown
PHP min version7.4
Downloads2K

Community Trust

Rating0/100
Number of ratings0
Active installs0
Developer Profile

Set WooCommerce Payment Gateway by URL Developer Profile

Brian Henry

2 plugins · 90 total installs

91
trust score
Avg Security Score
96/100
Avg Patch Time
30 days
View full developer profile
Detection Fingerprints

How We Detect Set WooCommerce Payment Gateway by URL

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/bh-wc-set-gateway-by-url/assets/bh-wc-set-gateway-by-url-admin.css
Version Parameters
bh-wc-set-gateway-by-url-admin.css?ver=

HTML / DOM Fingerprints

CSS Classes
logs-page
Data Attributes
data-date
FAQ

Frequently Asked Questions about Set WooCommerce Payment Gateway by URL