Leaky Paywall

The subscription engine for news & niche publishers.

v5.1.3ZEEN101Updated Added 700 installs86% rating
20
Score
320
Errors
782
Warnings
+0
Change

Category Scores

Security0
Repo67
Performance100
Maintainability0

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

1,102 findings

Security

624

11 issue groups

Maintainability

328

11 issue groups

I18n

48

2 issue groups

Supply Chain

8

1 issue group

WARNINGSecurityNonce verification recommendedProcessing form data without nonce verification.330
Category
Security
Occurrences
330
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORSecurityException output is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Cannot save property `{$key}` containing an API resource of type "'.116
Category
Security
Occurrences
116
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Cannot save property `{$key}` containing an API resource of type "'.

WARNINGMaintainabilityNon-prefixed global variableGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$alive_sub".82
Category
Maintainability
Occurrences
82
Severity
warning

Sample message

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$alive_sub".

WARNINGMaintainabilityNon-prefixed hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "add_leaky_paywall_subscriber".56
Category
Maintainability
Occurrences
56
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "add_leaky_paywall_subscriber".

WARNINGSecurityMissing nonce verificationProcessing form data without nonce verification.50
Category
Security
Occurrences
50
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecurityRequest data is not unslashed$_COOKIE['lp_utm'] not unslashed before sanitization. Use wp_unslash() or similar48
Category
Security
Occurrences
48
Severity
warning

Sample message

$_COOKIE['lp_utm'] not unslashed before sanitization. Use wp_unslash() or similar

WARNINGMaintainabilityNon-prefixed functionFunctions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "add_leaky_paywall_login_hash".41
Category
Maintainability
Occurrences
41
Severity
warning

Sample message

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "add_leaky_paywall_login_hash".

ERRORI18nMissing Arg DomainMissing $domain parameter in function call to __().38
Category
I18n
Occurrences
38
Severity
error

Sample message

Missing $domain parameter in function call to __().

ERRORMaintainabilityMissing direct file access protectionPHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;36
Category
Maintainability
Occurrences
36
Severity
error

Sample message

PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;

WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.25
Category
Maintainability
Occurrences
25
Severity
warning

Sample message

Use of a direct database call is discouraged.

Show 15 more
WARNINGMaintainabilityNo Caching24
Category
Maintainability
Occurrences
24
Severity
warning

Sample message

Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().

WARNINGMaintainabilityslow db query meta query24
Category
Maintainability
Occurrences
24
Severity
warning

Sample message

Detected usage of meta_query, possible slow query.

ERRORSecurityOutput is not escaped23
Category
Security
Occurrences
23
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$action_links'.

WARNINGMaintainabilityNon-prefixed class16
Category
Maintainability
Occurrences
16
Severity
warning

Sample message

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "LP_Email".

WARNINGSecurityInput is not validated12
Category
Security
Occurrences
12
Severity
warning

Sample message

Detected usage of a possibly undefined superglobal array index: $_GET['_wpnonce']. Check that the array index exists before using it.

WARNINGMaintainabilityNon-prefixed constant11
Category
Maintainability
Occurrences
11
Severity
warning

Sample message

Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "ACTIVE_ISSUEM".

ERRORSecurityUnsafe printing function11
Category
Security
Occurrences
11
Severity
error

Sample message

All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.

WARNINGSecurityInterpolated SQL is not prepared10
Category
Security
Occurrences
10
Severity
warning

Sample message

Use placeholders and $wpdb->prepare(); found interpolated variable $table_name at "INSERT INTO $table_name (post_id, nag_date, nag_type, count)\n

WARNINGSecuritywp redirect wp redirect10
Category
Security
Occurrences
10
Severity
warning

Sample message

wp_redirect() found. Using wp_safe_redirect(), along with the "allowed_redirect_hosts" filter if needed, can help avoid any chances of malicious redirects within code. It is also important to remember to call exit() after a redirect so that no other unwanted code is executed.

ERRORI18nMissing Translators Comment10
Category
I18n
Occurrences
10
Severity
error

Sample message

A function call to __() with texts containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders.

WARNINGMaintainabilityerror log error log8
Category
Maintainability
Occurrences
8
Severity
warning

Sample message

error_log() found. Debug code should not normally be used in production.

WARNINGSecurityInput is not sanitized8
Category
Security
Occurrences
8
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_COOKIE['lp_utm']

ERRORSupply ChainHidden files included8
Category
Supply Chain
Occurrences
8
Severity
error

Sample message

Hidden files are not permitted.

WARNINGSecurityDatabase parameter is not escaped6
Category
Security
Occurrences
6
Severity
warning

Sample message

Unescaped parameter $table_name used in $wpdb->get_results()\n$table_name assigned unsafely at line 135.

ERRORMaintainabilitycurl curl errno5
Category
Maintainability
Occurrences
5
Severity
error

Sample message

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

External Connections

Potential connections found in static code analysis.

31 domains

Outbound calls

260

External assets

5

Incoming endpoints

35

Notable Domains

stripe.com156 · outbound
leakypaywall.com20 · outbound
dashboard.stripe.com14 · outbound
docs.leakypaywall.com14 · outbound
iso.org13 · outbound

Platform / Reference Domains

opensource.org6 · platform/reference
github.com2 · platform/reference
schema.org1 · platform/reference
wordpress.org1 · platform/reference

External Asset Domains

youtube.com2 · asset
js.stripe.com1 · asset

Incoming Endpoints

/wp-json/lp-list-builder/v1/flowREST

register_rest_route

/wp-json/lp-list-builder/v1/loginREST

register_rest_route

/wp-json/lp-list-builder/v1/password-reset/confirmREST

register_rest_route

/wp-json/lp-list-builder/v1/password-reset/requestREST

register_rest_route

/wp-json/lp-list-builder/v1/password-reset/verifyREST

register_rest_route

/wp-json/lp-list-builder/v1/request-otpREST

register_rest_route

Admin AJAX endpoints20
wp_ajax_issuem-leaky-paywall-add-new-restriction-rowauthenticated

wp_ajax

wp_ajax_issuem-leaky-paywall-add-new-subscription-rowauthenticated

wp_ajax

wp_ajax_issuem-leaky-paywall-add-new-subscription-row-post-typeauthenticated

wp_ajax

wp_ajax_leaky_paywall_activate_extensionauthenticated

wp_ajax

wp_ajax_leaky_paywall_add_subscriberauthenticated

wp_ajax

wp_ajax_leaky_paywall_create_stripe_checkout_subscriptionauthenticated

wp_ajax

wp_ajax_leaky_paywall_install_extensionauthenticated

wp_ajax

wp_ajax_leaky_paywall_process_apple_payauthenticated

wp_ajax

wp_ajax_leaky_paywall_process_cookieauthenticated

wp_ajax

wp_ajax_leaky_paywall_process_notice_linkauthenticated

wp_ajax

wp_ajax_leaky_paywall_process_user_registration_validationauthenticated

wp_ajax

wp_ajax_leaky_paywall_reporting_tool_processauthenticated

wp_ajax

8 more hidden

Score History

2 score snapshots

+0
1007550250Jun 25, 2026, 10:35 AM UTC Score 20/100 Plugin v5.1.2 Plugin Check 2.0.0 320 errors, 776 warningsJun 29, 2026, 09:33 PM UTC Score 20/100 Plugin v5.1.3 Plugin Check 2.0.0 320 errors, 782 warningsJun 25, 2026Jun 29, 2026

v5.1.3

20

Latest

Findings
1,102
Errors
320
Warnings
782
Check
2.0.0

v5.1.2

20

Score

Findings
1,096
Errors
320
Warnings
776
Check
2.0.0

Relationship Map

Author, categories, issues, domains, and nearby plugins.

37 nodes

Related

Related Plugins