hCaptcha for WP Security & Risk Analysis

wordpress.org/plugins/hcaptcha-for-forms-and-more

The strongest CAPTCHA. Switch from reCAPTCHA, Turnstile, etc. for free. Integrates with 60+ popular plugins and themes.

70K active installs v4.24.0 PHP 7.4+ WP 6.0+ Updated Mar 2, 2026
abuseantispamcaptchahcaptchaprotect
99
A · Safe
CVEs total1
Unpatched0
Last CVEApr 19, 2024
Safety Verdict

Is hCaptcha for WP Safe to Use in 2026?

Generally Safe

Score 99/100

hCaptcha for WP has a strong security track record. Known vulnerabilities have been patched promptly.

1 known CVELast CVE: Apr 19, 2024Updated 1mo ago
Risk Assessment

The "hcaptcha-for-forms-and-more" plugin v4.24.0 presents a significant security risk due to a large attack surface with unprotected entry points. The static analysis reveals 23 total entry points, with a concerning 22 lacking authentication checks. This exposes a substantial portion of the plugin's functionality to unauthorized access and potential exploitation. While the plugin demonstrates good practices in using prepared statements for SQL queries and properly escaping output, the sheer number of unprotected AJAX handlers is a critical flaw.

The plugin's vulnerability history shows a single medium-severity Cross-Site Scripting (XSS) vulnerability reported recently, indicating that while the developers are addressing past issues, the potential for such vulnerabilities remains. The taint analysis did identify two flows with unsanitized paths, although thankfully they were not classified as critical or high severity. This suggests a potential for data mishandling or injection flaws, even if not immediately exploitable at the highest level.

In conclusion, while the plugin shows strengths in its SQL and output handling, the overwhelming presence of unprotected AJAX handlers represents a major security concern. The recent XSS vulnerability and the identified taint flows warrant careful attention. The plugin's security posture is weakened by its exposed attack surface, and immediate remediation of unprotected entry points is highly recommended.

Key Concerns

  • Large attack surface without auth checks
  • Flows with unsanitized paths
  • Medium severity CVE in history
Vulnerabilities
1

hCaptcha for WP Security Vulnerabilities

CVEs by Year

1 CVE in 2024
2024
Patched Has unpatched

Severity Breakdown

Medium
1

1 total CVE

CVE-2024-4014medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

hCaptcha for WordPress <= 4.0.0 - Authenticated (Contributor+) Stored Cross-Site Scripting via cf7-hcaptcha Shortcode

Apr 19, 2024 Patched in 4.0.1 (1d)
Code Analysis
Analyzed Mar 16, 2026

hCaptcha for WP Code Analysis

Dangerous Functions
1
Raw SQL Queries
5
24 prepared
Unescaped Output
47
308 escaped
Nonce Checks
12
Capability Checks
13
File Operations
16
External Requests
4
Bundled Libraries
0

Dangerous Functions Found

preg_replace(/e)preg_replace('/evendors\matthiasmullie\minify\src\JS.php:378

SQL Query Safety

83% prepared29 total queries

Output Escaping

87% escaped355 total outputs
Data Flows
2 unsanitized

Data Flow Analysis

2 flows2 with unsanitized paths
ajax_handle_import (src\php\Settings\Tools.php:143)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
22 unprotected

hCaptcha for WP Attack Surface

Entry Points23
Unprotected22

AJAX Handlers 22

authwp_ajax_blc_newsletter_subscribe_process_ajax_subscribesrc\php\Blocksy\NewsletterSubscribe.php:42
noprivwp_ajax_blc_newsletter_subscribe_process_ajax_subscribesrc\php\Blocksy\NewsletterSubscribe.php:47
authwp_ajax_cr_new_qnasrc\php\CustomerReviews\QuestionAnswer.php:46
noprivwp_ajax_cr_new_qnasrc\php\CustomerReviews\QuestionAnswer.php:47
authwp_ajax_cr_submit_reviewsrc\php\CustomerReviews\Review.php:77
noprivwp_ajax_cr_submit_reviewsrc\php\CustomerReviews\Review.php:78
authwp_ajax_et_pb_submit_subscribe_formsrc\php\Divi\EmailOptin.php:46
noprivwp_ajax_et_pb_submit_subscribe_formsrc\php\Divi\EmailOptin.php:47
authwp_ajax_eb_form_submitsrc\php\EssentialBlocks\Form.php:60
noprivwp_ajax_eb_form_submitsrc\php\EssentialBlocks\Form.php:61
authwp_ajax_kb_process_advanced_form_submitsrc\php\Kadence\AdvancedForm.php:80
noprivwp_ajax_kb_process_advanced_form_submitsrc\php\Kadence\AdvancedForm.php:81
authwp_ajax_kb_process_ajax_submitsrc\php\Kadence\Form.php:35
noprivwp_ajax_kb_process_ajax_submitsrc\php\Kadence\Form.php:36
authwp_ajax_validate_inputsrc\php\Passster\Protect.php:47
noprivwp_ajax_validate_inputsrc\php\Passster\Protect.php:48
authwp_ajax_uagb_process_formssrc\php\Spectra\Form.php:56
noprivwp_ajax_uagb_process_formssrc\php\Spectra\Form.php:57
authwp_ajax_uael_register_usersrc\php\UltimateAddons\Register.php:42
noprivwp_ajax_uael_register_usersrc\php\UltimateAddons\Register.php:43
authwp_ajax_wpdAddSubscriptionsrc\php\WPDiscuz\Subscribe.php:27
noprivwp_ajax_wpdAddSubscriptionsrc\php\WPDiscuz\Subscribe.php:28

Shortcodes 1

[hcaptcha] src\php\includes\functions.php:68
WordPress Hooks 528
actionwp_abilities_api_categories_initsrc\php\Abilities\Abilities.php:100
actionwp_abilities_api_initsrc\php\Abilities\Abilities.php:101
filterhcap_blacklist_ipsrc\php\Abilities\Abilities.php:102
filterpreprocess_commentsrc\php\Abstracts\CommentBase.php:54
filterpre_comment_approvedsrc\php\Abstracts\CommentBase.php:55
actionhcap_signaturesrc\php\Abstracts\LoginBase.php:83
actionlogin_formsrc\php\Abstracts\LoginBase.php:84
filterlogin_form_middlesrc\php\Abstracts\LoginBase.php:85
filterwp_authenticate_usersrc\php\Abstracts\LoginBase.php:86
filterauthenticatesrc\php\Abstracts\LoginBase.php:87
actionwp_loginsrc\php\Abstracts\LoginBase.php:89
actionwp_login_failedsrc\php\Abstracts\LoginBase.php:90
actionhcap_delay_apisrc\php\Abstracts\LoginBase.php:92
actionlostpassword_postsrc\php\Abstracts\LostPasswordBase.php:33
actionacfe/form/render/before_fieldssrc\php\ACFE\Form.php:67
actionwp_print_footer_scriptssrc\php\ACFE\Form.php:72
filterhcap_verify_requestsrc\php\Admin\Events\Events.php:61
actionhcap_load_maxmind_dbsrc\php\Admin\MaxMindDb.php:64
actionhcap_update_maxmind_dbsrc\php\Admin\MaxMindDb.php:65
actionadmin_enqueue_scriptssrc\php\Admin\Notifications.php:69
actionplugins_loadedsrc\php\Admin\OnboardingWizard.php:106
actioncurrent_screensrc\php\Admin\OnboardingWizard.php:114
actionadmin_enqueue_scriptssrc\php\Admin\OnboardingWizard.php:115
actionhcap_send_plugin_statssrc\php\Admin\PluginStats.php:66
actionadmin_initsrc\php\Admin\Privacy.php:48
actionkagg_settings_tabsrc\php\Admin\WhatsNew.php:88
actionadmin_print_footer_scriptssrc\php\Admin\WhatsNew.php:89
actionadmin_footersrc\php\Admin\WhatsNew.php:90
filterupdate_footersrc\php\Admin\WhatsNew.php:92
actionwp_headsrc\php\Affiliates\Login.php:26
filterlogin_form_middlesrc\php\Affiliates\Login.php:27
actionaffiliates_dashboard_before_sectionsrc\php\Affiliates\Register.php:53
actionaffiliates_dashboard_after_sectionsrc\php\Affiliates\Register.php:54
filteraffiliates_registration_error_validatesrc\php\Affiliates\Register.php:55
filterhcap_verify_requestsrc\php\AntiSpam\AntiSpam.php:118
actionwp_headsrc\php\Asgaros\Base.php:33
actioninitsrc\php\AutoVerify\AutoVerify.php:57
filterthe_contentsrc\php\AutoVerify\AutoVerify.php:58
filterwidget_block_contentsrc\php\AutoVerify\AutoVerify.php:59
actionhcap_auto_verify_registersrc\php\AutoVerify\AutoVerify.php:60
actionhcap_register_formsrc\php\AutoVerify\AutoVerify.php:61
actionwp_print_footer_scriptssrc\php\AutoVerify\AutoVerify.php:62
filterwp_doing_ajaxsrc\php\AutoVerify\AutoVerify.php:168
actionfusion_form_after_opensrc\php\Avada\Form.php:46
filterfusion_builder_form_submission_datasrc\php\Avada\Form.php:47
actionfusion_element_form_contentsrc\php\Avada\Form.php:48
filterfusion_form_demo_modesrc\php\Avada\Form.php:49
actionwp_print_footer_scriptssrc\php\Avada\Form.php:50
actioncwg_instock_after_email_fieldsrc\php\BackInStockNotifier\Form.php:53
actioncwginstock_after_submit_buttonsrc\php\BackInStockNotifier\Form.php:54
actioncwginstock_ajax_datasrc\php\BackInStockNotifier\Form.php:55
actionwp_print_footer_scriptssrc\php\BackInStockNotifier\Form.php:58
filterscript_loader_tagsrc\php\BackInStockNotifier\Form.php:59
filterdo_shortcode_tagsrc\php\BBPress\Login.php:25
filterdo_shortcode_tagsrc\php\BBPress\LostPassword.php:30
filterdo_shortcode_tagsrc\php\BBPress\Register.php:42
filterregistration_errorssrc\php\BBPress\Register.php:43
actionwp_print_footer_scriptssrc\php\BeaverBuilder\Base.php:33
filterscript_loader_tagsrc\php\BeaverBuilder\Base.php:34
filterfl_builder_render_module_contentsrc\php\BeaverBuilder\Contact.php:41
actionfl_module_contact_form_before_sendsrc\php\BeaverBuilder\Contact.php:42
filterfl_builder_render_module_contentsrc\php\BeaverBuilder\Login.php:31
filterwp_authenticate_usersrc\php\BeaverBuilder\Login.php:32
filterrender_blocksrc\php\Blocksy\NewsletterSubscribe.php:41
actionwp_headsrc\php\Blocksy\NewsletterSubscribe.php:53
filtercomment_form_submit_fieldsrc\php\Blocksy\ProductReview.php:43
actionblocksy:woocommerce:product:custom:layersrc\php\Blocksy\Waitlist.php:42
actionblocksy:woocommerce:product:custom:layersrc\php\Blocksy\Waitlist.php:43
filterblocksy:ext:woocommerce-extra:waitlist:subscribe:validatesrc\php\Blocksy\Waitlist.php:45
actionwp_headsrc\php\Blocksy\Waitlist.php:47
actionwp_headsrc\php\Brizy\Base.php:40
actionwp_print_footer_scriptssrc\php\Brizy\Base.php:41
filterscript_loader_tagsrc\php\Brizy\Base.php:42
actionbp_after_group_details_creation_stepsrc\php\BuddyPress\CreateGroup.php:46
actiongroups_group_before_savesrc\php\BuddyPress\CreateGroup.php:47
actionwp_headsrc\php\BuddyPress\CreateGroup.php:48
actionbp_before_registration_submit_buttonssrc\php\BuddyPress\Register.php:41
actionbp_signup_validatesrc\php\BuddyPress\Register.php:42
actionwpcf7_admin_initsrc\php\CF7\Admin.php:63
actioncurrent_screensrc\php\CF7\Admin.php:67
filterhcap_print_hcaptcha_scriptssrc\php\CF7\Admin.php:70
actionadmin_enqueue_scriptssrc\php\CF7\Admin.php:90
actionadmin_enqueue_scriptssrc\php\CF7\Admin.php:91
actionadmin_print_footer_scriptssrc\php\CF7\Admin.php:93
actionwpcf7_contact_formsrc\php\CF7\Admin.php:378
filteroption_wpcf7src\php\CF7\Base.php:57
filterdo_shortcode_tagsrc\php\CF7\CF7.php:52
filterrest_authentication_errorssrc\php\CF7\CF7.php:54
filterwpcf7_validatesrc\php\CF7\CF7.php:55
actionwp_print_footer_scriptssrc\php\CF7\CF7.php:56
actionwp_headsrc\php\CF7\CF7.php:57
filterdo_shortcode_tagsrc\php\CF7\CF7.php:95
actionwpcf7_initsrc\php\CF7\ReallySimpleCaptcha.php:33
filterdo_shortcode_tagsrc\php\CF7\ReallySimpleCaptcha.php:36
filterhcap_cf7_has_fieldsrc\php\CF7\ReallySimpleCaptcha.php:38
actionrtcl_before_template_partsrc\php\ClassifiedListing\Contact.php:42
actionrtcl_after_template_partsrc\php\ClassifiedListing\Contact.php:43
actionrtcl_listing_seller_contact_form_validationsrc\php\ClassifiedListing\Contact.php:44
actionrtcl_login_formsrc\php\ClassifiedListing\Login.php:27
filterwp_authenticate_usersrc\php\ClassifiedListing\Login.php:28
actionrtcl_register_formsrc\php\ClassifiedListing\Register.php:42
filterrtcl_process_registration_errorssrc\php\ClassifiedListing\Register.php:43
filterrender_blocksrc\php\CoBlocks\Form.php:59
filterrender_block_datasrc\php\CoBlocks\Form.php:60
actionwp_headsrc\php\CoBlocks\Form.php:61
actioncoblocks_before_form_submitsrc\php\CoBlocks\Form.php:137
filterpre_option_coblocks_google_recaptcha_site_keysrc\php\CoBlocks\Form.php:154
filterpre_option_coblocks_google_recaptcha_secret_keysrc\php\CoBlocks\Form.php:155
filterpre_http_requestsrc\php\CoBlocks\Form.php:159
actionlogin_headsrc\php\ColorlibCustomizer\Base.php:37
actionhcap_delay_apisrc\php\ColorlibCustomizer\Base.php:38
actionwp_headsrc\php\CustomerReviews\Base.php:47
actionwp_print_footer_scriptssrc\php\CustomerReviews\Base.php:48
filterscript_loader_tagsrc\php\CustomerReviews\Base.php:49
actionwoocommerce_before_template_partsrc\php\CustomerReviews\Base.php:51
actionwoocommerce_after_template_partsrc\php\CustomerReviews\Base.php:52
filterwoocommerce_product_tabssrc\php\CustomerReviews\QuestionAnswer.php:44
actionwp_headsrc\php\Divi\Contact.php:65
filterrender_blocksrc\php\Divi\Contact.php:68
filterpre_do_shortcode_tagsrc\php\Divi\Contact.php:69
filterdivi_module_library_register_module_attrssrc\php\Divi\Contact.php:70
filteret_pb_module_shortcode_attributessrc\php\Divi\Contact.php:72
actionwp_print_footer_scriptssrc\php\Divi\Contact.php:73
filteret_pb_signup_form_field_html_submit_buttonsrc\php\Divi\EmailOptin.php:45
actionwp_print_footer_scriptssrc\php\Divi\EmailOptin.php:48
filterscript_loader_tagsrc\php\Divi\EmailOptin.php:49
filterrender_blocksrc\php\Divi\Login.php:32
actionwpdm_after_fetch_templatesrc\php\DownloadManager\DownloadManager.php:41
actionwpdm_onstart_downloadsrc\php\DownloadManager\DownloadManager.php:42
actionwp_headsrc\php\DownloadManager\DownloadManager.php:43
actionedd_purchase_form_before_submitsrc\php\EasyDigitalDownloads\Checkout.php:41
filteredd_errorssrc\php\EasyDigitalDownloads\Checkout.php:42
filterrender_blocksrc\php\EasyDigitalDownloads\Login.php:56
actionedd_user_loginsrc\php\EasyDigitalDownloads\Login.php:57
filteredd_errorssrc\php\EasyDigitalDownloads\Login.php:58
actionhcap_delay_apisrc\php\EasyDigitalDownloads\Login.php:59
filterrender_blocksrc\php\EasyDigitalDownloads\LostPassword.php:42
filteredd_errorssrc\php\EasyDigitalDownloads\LostPassword.php:43
filterrender_blocksrc\php\EasyDigitalDownloads\Register.php:42
filteredd_errorssrc\php\EasyDigitalDownloads\Register.php:43
actionelementor/initsrc\php\ElementorPro\HCaptchaHandler.php:65
filterpre_option_elementor_pro_hcaptcha_site_keysrc\php\ElementorPro\HCaptchaHandler.php:68
filterpre_option_elementor_pro_hcaptcha_secret_keysrc\php\ElementorPro\HCaptchaHandler.php:69
actionelementor/initsrc\php\ElementorPro\HCaptchaHandler.php:70
filterelementor_pro/editor/localize_settingssrc\php\ElementorPro\HCaptchaHandler.php:128
filterelementor_pro/forms/field_typessrc\php\ElementorPro\HCaptchaHandler.php:133
actionelementor/element/form/section_form_fields/after_section_endsrc\php\ElementorPro\HCaptchaHandler.php:134
filterelementor_pro/forms/render/itemsrc\php\ElementorPro\HCaptchaHandler.php:146
filterelementor/frontend/the_contentsrc\php\ElementorPro\HCaptchaHandler.php:150
actionelementor/editor/initsrc\php\ElementorPro\HCaptchaHandler.php:154
filterhcap_print_hcaptcha_scriptssrc\php\ElementorPro\HCaptchaHandler.php:158
filterhcap_print_hcaptcha_scriptssrc\php\ElementorPro\HCaptchaHandler.php:164
actionwp_headsrc\php\ElementorPro\HCaptchaHandler.php:171
actionwp_print_footer_scriptssrc\php\ElementorPro\HCaptchaHandler.php:172
actionelementor/preview/enqueue_scriptssrc\php\ElementorPro\HCaptchaHandler.php:173
actionelementor/editor/after_enqueue_scriptssrc\php\ElementorPro\HCaptchaHandler.php:177
actionelementor_pro/forms/validationsrc\php\ElementorPro\HCaptchaHandler.php:182
actionelementor/frontend/widget/before_rendersrc\php\ElementorPro\Login.php:33
actionelementor/frontend/widget/after_rendersrc\php\ElementorPro\Login.php:34
actionwp_headsrc\php\ElementorPro\Login.php:36
actiondoing_it_wrong_runsrc\php\ErrorHandler.php:42
actiondoing_it_wrong_runsrc\php\ErrorHandler.php:43
filterdoing_it_wrong_trigger_errorsrc\php\ErrorHandler.php:44
actiondoing_it_wrong_runsrc\php\ErrorHandler.php:81
actioneael/login-register/before-login-footersrc\php\EssentialAddons\Login.php:33
actioneael/login-register/before-loginsrc\php\EssentialAddons\Login.php:34
filterhcap_print_hcaptcha_scriptssrc\php\EssentialAddons\Login.php:36
actioneael/login-register/after-password-fieldsrc\php\EssentialAddons\Register.php:47
actioneael/login-register/before-registersrc\php\EssentialAddons\Register.php:48
actionwp_headsrc\php\EssentialAddons\Register.php:50
filterhcap_print_hcaptcha_scriptssrc\php\EssentialAddons\Register.php:52
filterrender_blocksrc\php\EssentialBlocks\Form.php:67
actionwp_headsrc\php\EssentialBlocks\Form.php:68
actionwp_print_footer_scriptssrc\php\EssentialBlocks\Form.php:69
filterscript_loader_tagsrc\php\EssentialBlocks\Form.php:70
actionem_booking_form_before_buttonssrc\php\EventsManager\Booking.php:46
filterem_booking_validatesrc\php\EventsManager\Booking.php:47
actionwp_headsrc\php\EventsManager\Booking.php:48
filterpre_optionsrc\php\FluentForm\Form.php:76
filterfluentform/rendering_field_html_hcaptchasrc\php\FluentForm\Form.php:77
actionfluentform/render_item_submit_buttonsrc\php\FluentForm\Form.php:78
actionfluentform/validation_errorssrc\php\FluentForm\Form.php:79
filterfluentform/rendering_formsrc\php\FluentForm\Form.php:80
filterfluentform/has_hcaptchasrc\php\FluentForm\Form.php:81
filterhcap_print_hcaptcha_scriptssrc\php\FluentForm\Form.php:82
actionwp_print_footer_scriptssrc\php\FluentForm\Form.php:83
filterscript_loader_tagsrc\php\FluentForm\Form.php:84
actionadmin_enqueue_scriptssrc\php\FluentForm\Form.php:85
actionwp_headsrc\php\FluentForm\Form.php:86
filterpre_http_requestsrc\php\FluentForm\Form.php:384
filteroption_frm_optionssrc\php\FormidableForms\Form.php:66
filterfrm_replace_shortcodessrc\php\FormidableForms\Form.php:67
filterfrm_is_field_hiddensrc\php\FormidableForms\Form.php:68
filterfrm_validate_entrysrc\php\FormidableForms\Form.php:69
actionwp_print_footer_scriptssrc\php\FormidableForms\Form.php:70
actionadmin_enqueue_scriptssrc\php\FormidableForms\Form.php:71
actionforminator_before_form_rendersrc\php\Forminator\Form.php:75
filterforminator_render_button_markupsrc\php\Forminator\Form.php:76
filterforminator_cform_form_is_submittablesrc\php\Forminator\Form.php:77
filterhcap_print_hcaptcha_scriptssrc\php\Forminator\Form.php:79
actionwp_print_footer_scriptssrc\php\Forminator\Form.php:81
actionadmin_enqueue_scriptssrc\php\Forminator\Form.php:82
filterforminator_field_markupsrc\php\Forminator\Form.php:84
actiontemplate_redirectsrc\php\GiveWP\Base.php:59
filterhcap_print_hcaptcha_scriptssrc\php\GiveWP\Base.php:76
actionwp_print_footer_scriptssrc\php\GiveWP\Base.php:77
filterscript_loader_tagsrc\php\GiveWP\Base.php:78
filtergform_field_groups_form_editorsrc\php\GravityForms\Field.php:98
filtergform_duplicate_field_linksrc\php\GravityForms\Field.php:99
filterhcap_print_hcaptcha_scriptssrc\php\GravityForms\Field.php:102
filtergform_submit_buttonsrc\php\GravityForms\Form.php:74
filtergform_form_after_opensrc\php\GravityForms\Form.php:77
filtergform_get_form_filtersrc\php\GravityForms\Form.php:78
filtergform_validationsrc\php\GravityForms\Form.php:80
filtergform_form_validation_errorssrc\php\GravityForms\Form.php:81
filtergform_form_validation_errors_markupsrc\php\GravityForms\Form.php:82
actionwp_headsrc\php\GravityForms\Form.php:83
actionwp_print_footer_scriptssrc\php\GravityForms\Form.php:84
filterhcap_form_argssrc\php\GravityForms\Form.php:120
actionadmin_print_footer_scriptssrc\php\Helpers\FormSubmitTime.php:56
actionwp_print_footer_scriptssrc\php\Helpers\FormSubmitTime.php:57
actionplugins_loadedsrc\php\Helpers\Playground.php:112
actionactivated_pluginsrc\php\Helpers\Playground.php:113
actionswitch_themesrc\php\Helpers\Playground.php:114
actionwp_headsrc\php\Helpers\Playground.php:115
actionadmin_headsrc\php\Helpers\Playground.php:116
actionlogin_headsrc\php\Helpers\Playground.php:117
actionadmin_bar_menusrc\php\Helpers\Playground.php:118
actionadmin_enqueue_scriptssrc\php\Helpers\Playground.php:119
actionwp_enqueue_scriptssrc\php\Helpers\Playground.php:120
actionlogin_enqueue_scriptssrc\php\Helpers\Playground.php:121
filterhcap_allow_send_plugin_statssrc\php\Helpers\Playground.php:125
filtershow_admin_barsrc\php\Helpers\Playground.php:128
actionlogin_headsrc\php\Helpers\Playground.php:131
actionlogin_footersrc\php\Helpers\Playground.php:140
filterwpcf7_skip_mailsrc\php\Helpers\Playground.php:168
filterpre_wp_mailsrc\php\Helpers\Playground.php:169
actioninitsrc\php\Helpers\Playground.php:172
filterhf_form_htmlsrc\php\HTMLForms\Form.php:58
actionhf_admin_output_form_tab_fieldssrc\php\HTMLForms\Form.php:59
filterhf_validate_form_request_sizesrc\php\HTMLForms\Form.php:60
filterhf_validate_formsrc\php\HTMLForms\Form.php:61
filterwp_insert_post_datasrc\php\HTMLForms\Form.php:62
actionwp_headsrc\php\HTMLForms\Form.php:64
filterdo_shortcode_tagsrc\php\IcegramExpress\Form.php:72
actiondynamic_sidebarsrc\php\IcegramExpress\Form.php:75
actiondynamic_sidebar_aftersrc\php\IcegramExpress\Form.php:76
filterig_es_validate_subscriptionsrc\php\IcegramExpress\Form.php:78
actionwp_headsrc\php\IcegramExpress\Form.php:79
actionwp_print_footer_scriptssrc\php\IcegramExpress\Form.php:80
filterig_es_subscription_messagessrc\php\IcegramExpress\Form.php:176
filterjetpack_contact_form_htmlsrc\php\Jetpack\Base.php:74
filterwidget_textsrc\php\Jetpack\Base.php:77
filterwidget_textsrc\php\Jetpack\Base.php:79
filterwidget_textsrc\php\Jetpack\Base.php:80
filterjetpack_contact_form_is_spamsrc\php\Jetpack\Base.php:82
actionwp_headsrc\php\Jetpack\Base.php:84
filterthe_contentsrc\php\Jetpack\Base.php:86
actionwp_print_footer_scriptssrc\php\Jetpack\Base.php:88
filterscript_loader_tagsrc\php\Jetpack\Base.php:89
filterhcap_print_hcaptcha_scriptssrc\php\Jetpack\Base.php:95
actionwp_print_footer_scriptssrc\php\Jetpack\Base.php:96
filterhcap_hcaptcha_contentsrc\php\Jetpack\Base.php:127
filterrender_blocksrc\php\Kadence\AdvancedForm.php:54
filterblock_parser_classsrc\php\Kadence\AdvancedForm.php:57
actionwp_print_footer_scriptssrc\php\Kadence\AdvancedForm.php:66
filterscript_loader_tagsrc\php\Kadence\AdvancedForm.php:67
filterpre_option_kadence_blocks_hcaptcha_site_keysrc\php\Kadence\AdvancedForm.php:82
filterpre_option_kadence_blocks_hcaptcha_secret_keysrc\php\Kadence\AdvancedForm.php:88
actionenqueue_block_editor_assetssrc\php\Kadence\AdvancedForm.php:94
actionwp_print_footer_scriptssrc\php\Kadence\Base.php:28
filterrender_blocksrc\php\Kadence\Form.php:42
actionwp_enqueue_scriptssrc\php\Kadence\Form.php:43
filterlogin_form_middlesrc\php\LearnDash\Login.php:27
filterdo_shortcode_tagsrc\php\LearnDash\LostPassword.php:30
actionlearndash_registration_formsrc\php\LearnDash\Register.php:42
filterregistration_errorssrc\php\LearnDash\Register.php:43
filterlearndash_registration_errorssrc\php\LearnDash\Register.php:44
actionwp_headsrc\php\LearnDash\Register.php:45
actionlearn-press/payment-formsrc\php\LearnPress\Checkout.php:46
filterlearn-press/validate-checkout-fieldssrc\php\LearnPress\Checkout.php:47
actionlogin_formsrc\php\LearnPress\Login.php:28
filterwp_authenticate_usersrc\php\LearnPress\Login.php:29
actionregister_formsrc\php\LearnPress\Register.php:41
actionwp_loadedsrc\php\LearnPress\Register.php:42
actionxoo_el_form_startsrc\php\LoginSignupPopup\Login.php:33
actionxoo_el_form_endsrc\php\LoginSignupPopup\Login.php:34
filterxoo_el_process_login_errorssrc\php\LoginSignupPopup\Login.php:35
actionwp_headsrc\php\LoginSignupPopup\Login.php:36
actionwp_enqueue_scriptssrc\php\LoginSignupPopup\Login.php:37
actionxoo_el_form_startsrc\php\LoginSignupPopup\Register.php:50
actionxoo_el_form_endsrc\php\LoginSignupPopup\Register.php:51
filterxoo_el_process_registration_errorssrc\php\LoginSignupPopup\Register.php:52
actionwp_headsrc\php\LoginSignupPopup\Register.php:53
actionwp_enqueue_scriptssrc\php\LoginSignupPopup\Register.php:54
filtermc4wp_form_messagessrc\php\Mailchimp\Form.php:57
filtermc4wp_form_contentsrc\php\Mailchimp\Form.php:58
filtermc4wp_form_errorssrc\php\Mailchimp\Form.php:59
actionwp_print_footer_scriptssrc\php\Mailchimp\Form.php:60
filterthe_contentsrc\php\MailPoet\Form.php:54
actionmailpoet_api_setupsrc\php\MailPoet\Form.php:55
actionwp_print_footer_scriptssrc\php\MailPoet\Form.php:56
actionplugins_loadedsrc\php\Main.php:173
actioncli_initsrc\php\Main.php:188
actionplugins_loadedsrc\php\Main.php:230
filterhcap_blacklist_ipsrc\php\Main.php:231
filterhcap_whitelist_ipsrc\php\Main.php:232
actionbefore_woocommerce_initsrc\php\Main.php:233
filterwp_resource_hintssrc\php\Main.php:241
filterwp_headerssrc\php\Main.php:242
actionwp_headsrc\php\Main.php:243
actionlogin_headsrc\php\Main.php:244
actionlogin_headsrc\php\Main.php:245
actionwp_print_footer_scriptssrc\php\Main.php:246
filterhcap_protect_formsrc\php\Main.php:247
actionaction_scheduler_ensure_recurring_actionssrc\php\Main.php:248
actionload_custom_stylesrc\php\Maintenance\Login.php:45
actionload_custom_stylesrc\php\Maintenance\Login.php:46
actionafter_main_containersrc\php\Maintenance\Login.php:47
actionload_custom_scriptssrc\php\Maintenance\Login.php:48
filterwp_authenticate_usersrc\php\Maintenance\Login.php:50
actionmepr-login-form-before-submitsrc\php\MemberPress\Login.php:38
filterwp_authenticate_usersrc\php\MemberPress\Login.php:39
actionmepr-checkout-before-submitsrc\php\MemberPress\Register.php:40
filtermepr-validate-signupsrc\php\MemberPress\Register.php:41
actionplugins_loadedsrc\php\Migrations\Migrations.php:91
actionplugins_loadedsrc\php\Migrations\Migrations.php:92
actionasync_migrate_4_11_0src\php\Migrations\Migrations.php:94
actioninitsrc\php\Migrations\Migrations.php:234
actionplugins_loadedsrc\php\Migrations\Migrations.php:416
actioninitsrc\php\Migrations\Migrations.php:499
filternf_sub_hidden_field_typessrc\php\NF\Field.php:82
actiontoplevel_page_ninja-formssrc\php\NF\NF.php:71
actionnf_admin_enqueue_scriptssrc\php\NF\NF.php:72
filterninja_forms_register_fieldssrc\php\NF\NF.php:73
filterninja_forms_field_template_file_pathssrc\php\NF\NF.php:74
actionnf_get_form_idsrc\php\NF\NF.php:75
actionwp_print_footer_scriptssrc\php\NF\NF.php:78
filterscript_loader_tagsrc\php\NF\NF.php:79
actionninja-forms_page_nf-settingssrc\php\NF\NF.php:82
actionninja-forms_page_nf-settingssrc\php\NF\NF.php:83
actionadmin_enqueue_scriptssrc\php\NF\NF.php:84
filteroption_themeisle_google_captcha_api_site_keysrc\php\Otter\Form.php:71
filterdefault_option_themeisle_google_captcha_api_site_keysrc\php\Otter\Form.php:72
filterrender_blocksrc\php\Otter\Form.php:73
filterotter_form_anti_spam_validationsrc\php\Otter\Form.php:74
actionwp_print_footer_scriptssrc\php\Otter\Form.php:75
filterscript_loader_tagsrc\php\Otter\Form.php:76
filterrest_request_after_callbackssrc\php\Otter\Form.php:158
actionpmpro_checkout_before_submit_buttonsrc\php\PaidMembershipsPro\Checkout.php:41
actionpmpro_checkout_after_parameters_setsrc\php\PaidMembershipsPro\Checkout.php:42
filterpmpro_pages_custom_template_pathsrc\php\PaidMembershipsPro\Login.php:27
filterpmpro_pages_shortcode_loginsrc\php\PaidMembershipsPro\Login.php:28
filterdo_shortcode_tagsrc\php\Passster\Protect.php:46
actionwp_print_footer_scriptssrc\php\Passster\Protect.php:49
filterscript_loader_tagsrc\php\Passster\Protect.php:50
actionwp_headsrc\php\Passster\Protect.php:51
filterpassword_protected_below_password_fieldsrc\php\PasswordProtected\Protect.php:42
actionpassword_protected_verify_recaptchasrc\php\PasswordProtected\Protect.php:43
actionpassword_protected_login_headsrc\php\PasswordProtected\Protect.php:44
filterwppb_login_form_before_content_outputsrc\php\ProfileBuilder\Login.php:28
filterwp_authenticate_usersrc\php\ProfileBuilder\Login.php:29
actionwp_headsrc\php\ProfileBuilder\Login.php:30
actionwppb_recover_password_before_content_outputsrc\php\ProfileBuilder\LostPassword.php:65
filterpre_do_shortcode_tagsrc\php\ProfileBuilder\LostPassword.php:66
filterwppb_recover_password_displayed_message1src\php\ProfileBuilder\LostPassword.php:67
actionwppb_register_form_contentsrc\php\ProfileBuilder\Register.php:49
filterwppb_output_field_errors_filtersrc\php\ProfileBuilder\Register.php:50
filterwppb_general_top_error_messagesrc\php\ProfileBuilder\Register.php:51
actiontemplate_redirectsrc\php\ProtectContent\ProtectContent.php:100
filterdo_shortcode_tagsrc\php\Quform\Quform.php:75
filterquform_post_validatesrc\php\Quform\Quform.php:76
filterquform_element_validsrc\php\Quform\Quform.php:77
actionwp_print_footer_scriptssrc\php\Quform\Quform.php:78
actionadmin_enqueue_scriptssrc\php\Quform\Quform.php:79
filterdo_shortcode_tagsrc\php\Sendinblue\Sendinblue.php:44
filterhcap_verify_requestsrc\php\Sendinblue\Sendinblue.php:45
actionwp_print_footer_scriptssrc\php\Sendinblue\Sendinblue.php:46
filterscript_loader_tagsrc\php\Sendinblue\Sendinblue.php:47
actioncurrent_screensrc\php\Settings\Abstracts\SettingsBase.php:246
actionadmin_enqueue_scriptssrc\php\Settings\Abstracts\SettingsBase.php:278
actionadmin_page_access_deniedsrc\php\Settings\Abstracts\SettingsBase.php:279
filterscript_loader_tagsrc\php\Settings\Abstracts\SettingsBase.php:280
actionplugins_loadedsrc\php\Settings\Abstracts\SettingsBase.php:283
actioncurrent_screensrc\php\Settings\Abstracts\SettingsBase.php:297
actioncurrent_screensrc\php\Settings\Abstracts\SettingsBase.php:298
actioncurrent_screensrc\php\Settings\General.php:199
actionadmin_headsrc\php\Settings\General.php:202
actionadmin_print_footer_scriptssrc\php\Settings\General.php:203
filterkagg_settings_fieldssrc\php\Settings\General.php:205
filterhcap_modesrc\php\Settings\General.php:1094
filterhcap_site_keysrc\php\Settings\General.php:1104
filterhcap_secret_keysrc\php\Settings\General.php:1112
filterhcap_check_honeypot_fieldsrc\php\Settings\General.php:1140
filterhcap_verify_fst_tokensrc\php\Settings\General.php:1141
actionkagg_settings_headersrc\php\Settings\Integrations.php:182
actionafter_switch_themesrc\php\Settings\Integrations.php:184
filterhcaptcha_activate_pluginssrc\php\Settings\Integrations.php:185
filterwp_redirectsrc\php\Settings\Integrations.php:1498
actionadmin_initsrc\php\Settings\ListPageBase.php:98
actionkagg_settings_headersrc\php\Settings\ListPageBase.php:99
filteradmin_footer_textsrc\php\Settings\PluginSettingsBase.php:43
filterupdate_footersrc\php\Settings\PluginSettingsBase.php:44
filterscf_filter_contact_formsrc\php\SimpleBasicContactForm\Form.php:48
filterpre_do_shortcode_tagsrc\php\SimpleBasicContactForm\Form.php:49
filtersdm_download_shortcode_outputsrc\php\SimpleDownloadMonitor\Form.php:46
actioninitsrc\php\SimpleDownloadMonitor\Form.php:47
actionwp_print_footer_scriptssrc\php\SimpleDownloadMonitor\Form.php:48
filterdo_shortcode_tagsrc\php\SimpleMembership\Login.php:27
filterswpm_validate_login_form_submissionsrc\php\SimpleMembership\Login.php:28
actionwp_headsrc\php\SimpleMembership\Login.php:29
actiondo_shortcode_tagsrc\php\SimpleMembership\LostPassword.php:41
filterswpm_validate_pass_reset_form_submissionsrc\php\SimpleMembership\LostPassword.php:42
actionwp_headsrc\php\SimpleMembership\LostPassword.php:43
actiondo_shortcode_tagsrc\php\SimpleMembership\Register.php:41
filterswpm_validate_registration_form_submissionsrc\php\SimpleMembership\Register.php:42
actionwp_headsrc\php\SimpleMembership\Register.php:43
filterrender_blocksrc\php\Spectra\Form.php:63
actionwp_headsrc\php\Spectra\Form.php:64
filterhcap_print_hcaptcha_scriptssrc\php\Spectra\Form.php:65
actionwp_print_footer_scriptssrc\php\Spectra\Form.php:66
filterscript_loader_tagsrc\php\Spectra\Form.php:67
filtersbscrbr_add_fieldsrc\php\Subscriber\Form.php:41
filtersbscrbr_checksrc\php\Subscriber\Form.php:42
filterdo_shortcode_tagsrc\php\SupportCandy\Base.php:41
filterhcap_print_hcaptcha_scriptssrc\php\SupportCandy\Base.php:42
actionwp_enqueue_scriptssrc\php\SupportCandy\Base.php:43
actionwp_headsrc\php\SupportCandy\Base.php:44
actionlogin_formsrc\php\ThemeMyLogin\Login.php:28
filterwp_authenticate_usersrc\php\ThemeMyLogin\Login.php:29
actionregister_formsrc\php\ThemeMyLogin\Register.php:42
filterregistration_errorssrc\php\ThemeMyLogin\Register.php:43
filtertml_before_form_fieldsrc\php\ThemeMyLogin\Signup.php:53
filterwpmu_validate_user_signupsrc\php\ThemeMyLogin\Signup.php:54
filterwpmu_validate_blog_signupsrc\php\ThemeMyLogin\Signup.php:55
actiontutor_load_template_beforesrc\php\Tutor\Checkout.php:47
actiontutor_load_template_aftersrc\php\Tutor\Checkout.php:48
actiontutor_action_tutor_pay_nowsrc\php\Tutor\Checkout.php:49
actiontutor_login_form_middlesrc\php\Tutor\Login.php:28
filterwp_authenticate_usersrc\php\Tutor\Login.php:29
actiontutor_lostpassword_formsrc\php\Tutor\LostPassword.php:42
filtertutor_before_retrieve_password_form_processsrc\php\Tutor\LostPassword.php:43
filterregistration_errorssrc\php\Tutor\Register.php:44
actionelementor/frontend/widget/before_rendersrc\php\UltimateAddons\Base.php:59
actionelementor/frontend/widget/after_rendersrc\php\UltimateAddons\Base.php:60
actionwp_headsrc\php\UltimateAddons\Base.php:62
actionwp_print_footer_scriptssrc\php\UltimateAddons\Base.php:63
filterscript_loader_tagsrc\php\UltimateAddons\Base.php:64
filterwp_authenticate_usersrc\php\UltimateAddons\Login.php:35
filterum_get_form_fieldssrc\php\UM\Base.php:90
filterlogin_errorssrc\php\UM\Login.php:33
actionum_after_password_reset_fieldssrc\php\UM\LostPassword.php:33
actionuwp_template_beforesrc\php\UsersWP\ForgotPassword.php:48
actionuwp_template_aftersrc\php\UsersWP\ForgotPassword.php:49
filteruwp_validate_resultsrc\php\UsersWP\ForgotPassword.php:50
actionwp_enqueue_scriptssrc\php\UsersWP\ForgotPassword.php:51
actionuwp_template_beforesrc\php\UsersWP\Login.php:43
actionuwp_template_aftersrc\php\UsersWP\Login.php:44
filteruwp_validate_resultsrc\php\UsersWP\Login.php:45
actionwp_enqueue_scriptssrc\php\UsersWP\Login.php:46
actionuwp_template_beforesrc\php\UsersWP\Register.php:48
actionuwp_template_aftersrc\php\UsersWP\Register.php:49
filteruwp_validate_resultsrc\php\UsersWP\Register.php:50
actionwp_enqueue_scriptssrc\php\UsersWP\Register.php:51
actionwoocommerce_before_template_partsrc\php\WC\AddPaymentMethod.php:50
actionwoocommerce_after_template_partsrc\php\WC\AddPaymentMethod.php:51
actionwp_enqueue_scriptssrc\php\WC\AddPaymentMethod.php:52
filterwoocommerce_add_payment_method_form_is_validsrc\php\WC\AddPaymentMethod.php:53
actionwoocommerce_review_order_before_submitsrc\php\WC\Checkout.php:72
filterrender_blocksrc\php\WC\Checkout.php:73
actionwoocommerce_checkout_processsrc\php\WC\Checkout.php:74
filterrest_request_before_callbackssrc\php\WC\Checkout.php:75
actionwp_print_footer_scriptssrc\php\WC\Checkout.php:76
filterscript_loader_tagsrc\php\WC\Checkout.php:77
actionwoocommerce_login_formsrc\php\WC\Login.php:28
filterwoocommerce_process_login_errorssrc\php\WC\Login.php:29
actionwp_headsrc\php\WC\Login.php:30
actionwp_headsrc\php\WC\LostPassword.php:52
filterdo_shortcode_tagsrc\php\WC\OrderTracking.php:30
actionwoocommerce_register_formsrc\php\WC\Register.php:41
filterwoocommerce_process_registration_errorssrc\php\WC\Register.php:42
actionwp_headsrc\php\WC\Register.php:43
actionwoocommerce_shiptastic_return_request_formsrc\php\WCGermanized\ReturnRequest.php:30
actionwoocommerce_shiptastic_return_request_form_endsrc\php\WCGermanized\ReturnRequest.php:31
actionwp_loadedsrc\php\WCGermanized\ReturnRequest.php:32
actionwoocommerce_wishlists_before_wrappersrc\php\WCWishlists\CreateList.php:43
actionwoocommerce_wishlists_after_wrappersrc\php\WCWishlists\CreateList.php:44
filterwoocommerce_validate_wishlist_createsrc\php\WCWishlists\CreateList.php:45
actionlogin_enqueue_scriptssrc\php\Wordfence\General.php:35
filterwordfence_ls_require_captchasrc\php\Wordfence\General.php:36
actionplugins_loadedsrc\php\Wordfence\General.php:38
actionlogin_headsrc\php\Wordfence\General.php:41
filtercomment_form_submit_fieldsrc\php\WP\Comment.php:50
actionlogin_formsrc\php\WP\Login.php:25
filterlogin_form_middlesrc\php\WP\LoginOut.php:27
filterthe_password_formsrc\php\WP\PasswordProtected.php:42
actionlogin_form_postpasssrc\php\WP\PasswordProtected.php:43
actionregister_formsrc\php\WP\Register.php:48
filterregistration_errorssrc\php\WP\Register.php:49
actionbefore_signup_formsrc\php\WP\Signup.php:56
actionafter_signup_formsrc\php\WP\Signup.php:57
filterwpmu_validate_user_signupsrc\php\WP\Signup.php:58
filterwpmu_validate_blog_signupsrc\php\WP\Signup.php:59
actioninitsrc\php\WPDiscuz\Base.php:32
actionwp_enqueue_scriptssrc\php\WPDiscuz\Base.php:33
filterwpdiscuz_form_rendersrc\php\WPDiscuz\Comment.php:32
filterpreprocess_commentsrc\php\WPDiscuz\Comment.php:33
actionwp_headsrc\php\WPDiscuz\Comment.php:34
actionwpdiscuz_after_subscription_formsrc\php\WPDiscuz\Subscribe.php:26
actionwp_headsrc\php\WPDiscuz\Subscribe.php:29
filterwpforms_admin_settings_captcha_enqueues_disablesrc\php\WPForms\Form.php:78
filterhcap_print_hcaptcha_scriptssrc\php\WPForms\Form.php:82
filterwpforms_settings_fieldssrc\php\WPForms\Form.php:83
actionwp_headsrc\php\WPForms\Form.php:86
actionwpforms_wp_footersrc\php\WPForms\Form.php:87
actionwpforms_frontend_outputsrc\php\WPForms\Form.php:89
filterwpforms_process_bypass_captchasrc\php\WPForms\Form.php:90
actionwpforms_processsrc\php\WPForms\Form.php:91
actionwp_print_footer_scriptssrc\php\WPForms\Form.php:93
filterhcap_site_keysrc\php\WPForms\Form.php:465
filterhcap_secret_keysrc\php\WPForms\Form.php:472
filterhcap_themesrc\php\WPForms\Form.php:479
filterhcap_print_hcaptcha_scriptssrc\php\WPForo\Base.php:33
actionwp_enqueue_scriptssrc\php\WPForo\Base.php:34
actionwp_headsrc\php\WPForo\Base.php:35
actionbefore_awsm_application_formsrc\php\WPJobOpenings\Form.php:41
actionafter_awsm_application_formsrc\php\WPJobOpenings\Form.php:42
actionawsm_job_application_submittingsrc\php\WPJobOpenings\Form.php:43
Maintenance & Trust

hCaptcha for WP Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedMar 2, 2026
PHP min version7.4
Downloads1.9M

Community Trust

Rating92/100
Number of ratings83
Active installs70K
Developer Profile

hCaptcha for WP Developer Profile

hcaptcha

1 plugin · 70K total installs

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

How We Detect hCaptcha for WP

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/hcaptcha-for-forms-and-more/assets/js/hcaptcha.js/wp-content/plugins/hcaptcha-for-forms-and-more/assets/js/hcaptcha-admin.js/wp-content/plugins/hcaptcha-for-forms-and-more/assets/css/hcaptcha.css/wp-content/plugins/hcaptcha-for-forms-and-more/assets/css/hcaptcha-admin.css
Script Paths
https://js.hcaptcha.com/1/api.js
Version Parameters
hcaptcha-for-forms-and-more/assets/js/hcaptcha.js?ver=hcaptcha-for-forms-and-more/assets/js/hcaptcha-admin.js?ver=hcaptcha-for-forms-and-more/assets/css/hcaptcha.css?ver=hcaptcha-for-forms-and-more/assets/css/hcaptcha-admin.css?ver=

HTML / DOM Fingerprints

CSS Classes
h-captcha
Data Attributes
data-sitekey
JS Globals
hCaptcha
FAQ

Frequently Asked Questions about hCaptcha for WP