Double Opt-In for Contact Form 7 & Avada – Secure, GDPR-Compliant Email Verification

Protect your forms with GDPR-compliant Double Opt-In. Ensure valid emails, prevent fake signups, and stay compliant with Contact Form 7 and Avada.

v3.7.2Forge12 Interactive GmbHUpdated Added 1k+ installs100% rating
23
Score
675
Errors
643
Warnings
+0
Change

Category Scores

Security0
Repo89
Performance100
Maintainability0

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

1,318 findings

Security

852

11 issue groups

Maintainability

346

11 issue groups

I18n

61

3 issue groups

ERRORSecurityUnsafe printing functionAll output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.384
Category
Security
Occurrences
384
Severity
error

Sample message

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

WARNINGMaintainabilityNon-prefixed hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'after-forge12-plugin-menu-' . $plugin_slug".155
Category
Maintainability
Occurrences
155
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'after-forge12-plugin-menu-' . $plugin_slug".

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

Sample message

Processing form data without nonce verification.

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

Sample message

Processing form data without nonce verification.

ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$admin_email'.74
Category
Security
Occurrences
74
Severity
error

Sample message

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

WARNINGSecurityRequest data is not unslashed$_GET['hash'] not unslashed before sanitization. Use wp_unslash() or similar70
Category
Security
Occurrences
70
Severity
warning

Sample message

$_GET['hash'] not unslashed before sanitization. Use wp_unslash() or similar

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

Sample message

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

ERRORSecuritySQL query is not preparedUse placeholders and $wpdb->prepare(); found $countQuery53
Category
Security
Occurrences
53
Severity
error

Sample message

Use placeholders and $wpdb->prepare(); found $countQuery

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_GET['_wpnonce']37
Category
Security
Occurrences
37
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_GET['_wpnonce']

WARNINGSecurityInterpolated SQL is not preparedUse placeholders and $wpdb->prepare(); found interpolated variable {$col} at "UPDATE {$table} SET {$col} = FROM_UNIXTIME({$col})\r\n27
Category
Security
Occurrences
27
Severity
warning

Sample message

Use placeholders and $wpdb->prepare(); found interpolated variable {$col} at "UPDATE {$table} SET {$col} = FROM_UNIXTIME({$col})\r\n

Show 15 more
ERRORI18nMissing Arg Domain24
Category
I18n
Occurrences
24
Severity
error

Sample message

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

ERRORI18nNon Singular String Literal Text20
Category
I18n
Occurrences
20
Severity
error

Sample message

The $text parameter must be a single text string literal. Found: $Category->get_id()

ERRORMaintainabilitydate date19
Category
Maintainability
Occurrences
19
Severity
error

Sample message

date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.

WARNINGMaintainabilityDirect Query18
Category
Maintainability
Occurrences
18
Severity
warning

Sample message

Use of a direct database call is discouraged.

WARNINGMaintainabilityNo Caching17
Category
Maintainability
Occurrences
17
Severity
warning

Sample message

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

ERRORI18nMissing Translators Comment17
Category
I18n
Occurrences
17
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.

ERRORMaintainabilityNot Allowed16
Category
Maintainability
Occurrences
16
Severity
error

Sample message

Use of heredoc syntax (<<<) is not allowed; use standard strings or inline HTML instead

WARNINGSecuritywp redirect wp redirect16
Category
Security
Occurrences
16
Severity
warning

Sample message

wp_redirect() found. Using wp_safe_redirect(), along with the &quot;allowed_redirect_hosts&quot; 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.

WARNINGSecurityInput is not validated16
Category
Security
Occurrences
16
Severity
warning

Sample message

Detected usage of a possibly undefined superglobal array index: $_GET[&#039;optin&#039;]. Check that the array index exists before using it.

WARNINGMaintainabilityMissing Version13
Category
Maintainability
Occurrences
13
Severity
warning

Sample message

Resource version not set in call to wp_enqueue_script(). This means new versions of the script may not always be loaded due to browser caching.

ERRORMaintainabilitywp function not compatible with requires wp13
Category
Maintainability
Occurrences
13
Severity
error

Sample message

Function "wp_date()" requires WordPress 5.3.0, but your plugin minimum supported version is WordPress 5.0.0.

WARNINGMaintainabilityerror log error log12
Category
Maintainability
Occurrences
12
Severity
warning

Sample message

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

WARNINGMaintainabilityNot In Footer12
Category
Maintainability
Occurrences
12
Severity
warning

Sample message

In footer ($in_footer) is not set explicitly wp_enqueue_script; It is recommended to load scripts in the footer. Please set this value to `true` to load it in the footer, or explicitly `false` if it should be loaded in the header.

ERRORSecurityDatabase parameter is not escaped10
Category
Security
Occurrences
10
Severity
error

Sample message

Unescaped parameter $countQuery used in $wpdb->get_var()\n$countQuery assigned unsafely at line 444.

ERRORMaintainabilityMissing direct file access protection10
Category
Maintainability
Occurrences
10
Severity
error

Sample message

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

External Connections

Potential connections found in static code analysis.

12 domains

Outbound calls

42

External assets

1

Incoming endpoints

12

Notable Domains

bugs.chromium.org4 · outbound
bugs.webkit.org4 · outbound
tailwindcss.com2 · outbound
colorzilla.com1 · outbound
highlightjs.org1 · outbound

Platform / Reference Domains

github.com16 · platform/reference
w3.org2 · platform/reference
developer.wordpress.org1 · platform/reference
wordpress.org1 · platform/reference

External Asset Domains

forge12.com8 · asset + outbound

Incoming Endpoints

wp_ajax_nopriv_doi_check_submission_errorpublic

wp_ajax

Admin AJAX endpoints9
wp_ajax_doi_export_consentauthenticated

wp_ajax

wp_ajax_f12_doi_templateloaderauthenticated

wp_ajax

wp_ajax_doi_check_submission_errorauthenticated

wp_ajax

wp_ajax_doi_get_all_formsauthenticated

wp_ajax

wp_ajax_doi_get_form_settingsauthenticated

wp_ajax

wp_ajax_doi_resend_optin_mailauthenticated

wp_ajax

wp_ajax_doi_save_form_settingsauthenticated

wp_ajax

wp_ajax_doi_toggle_formauthenticated

wp_ajax

wp_ajax_f12_doi_detailsauthenticated

wp_ajax

Score History

First score snapshot

v3.7.2

23

Latest

Findings
1,318
Errors
675
Warnings
643
Check
2.0.0

Relationship Map

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

36 nodes

Related Plugins

Disable Emojis (GDPR friendly)

60k+ active installs

100
DS CF7 Math Captcha

10k+ active installs

100
EU Withdrawal Compliance

800 active installs

100
100
Style Contact Form 7

1k+ active installs

100