Invisible reCaptcha

外掛說明

Invisible reCaptcha for WordPress 是一款功能強大的外掛,可以將 Google 的隱形 reCAPTCHA 整合至 WordPress 網站。

Notice: As of version 1.3.0, this plugin is now maintained by @berrypress.

External service disclosure

This plugin is designed to integrate reCAPTCHA by Google into your site, which is an external third-party service used to implement security and fraud prevention measures. The plugin may communicate with the reCAPTCHA service via API and/or by loading assets on your site’s frontend, resulting in data transfer with the reCAPTCHA service when the site frontend is accessed and/or when reCAPTCHA validation is triggered by to user actions. In addition to authentication and operational data such as API keys and reCAPTCHA identifiers, the service may receive information from your and your users’ browser and network, such as their IP address, user agent, etc.

Use of the reCAPTCHA service is subject to the Google Cloud Terms of Service, Service Specific Terms, Google Privacy Policy, and the Cloud Data Processing Addendum.

This plugin is not affiliated with or endorsed by Google.

功能摘要

WordPress 隱形 reCAPTCHA

- Login form protection - annihilates Brute Force attacks
- Registration form protection
- Comments form protection
- Forgot Password form protection

WooCommerce 隱形 reCAPTCHA

- Login form protection
- Registration form protection
- Product Review form protection
- Lost Password form protection
- Reset Password form protection

Contact Form 7 Invisible reCaptcha
– 使用隱形 reCAPTCHA 保護網站上由 Contact Form 7 製作的表單

Gravity Forms 隱形 reCAPTCHA
– 使用隱形 reCAPTCHA 保護網站上由 Gravity Forms 製作的表單

Ultra Community 隱形 reCAPTCHA
– 保護登入表單
– 保護註冊表單

BuddyPress 隱形 reCAPTCHA
– 使用隱形 reCAPTCHA 保護 BuddyPress 的註冊表單

相容性

在 WordPress 多站網路中,多站網路管理員能為整個網路啟用這個外掛,也能僅為單一網站啟用這個外掛。

How-To

Check out the Invisible reCAPTCHA v2 Guide: https://developers.google.com/recaptcha/docs/invisible

  1. Create a reCAPTCHA v2 site using the Invisible reCAPTCHA badge option: https://www.google.com/recaptcha/admin/create
  2. Copy the Site Key and Secret Key from the Google reCAPTCHA admin console.
  3. In WordPress, go to Settings > Invisible reCaptcha > Settings.
  4. Enter your Site Key and Secret Key.
  5. Save the settings.
  6. In the settings, choose which forms should be protected by reCAPTCHA.
  7. Visit a page containing a protected form and verify that the reCAPTCHA badge is displayed and that form submissions are working correctly.

擴充隱形 reCAPTCHA

在此提供一些能協助開發者將隱形 reCAPTCHA 整合至任何外掛或自訂表單的勾點。

動作

- google_invre_render_widget_action - renders the recaptcha widget

篩選器

- google_invre_is_valid_request_filter   - used to check if Google approved the request (returns bool true/false)
- google_invre_widget_output_html_filter - used to change the recaptcha widget output
- google_invre_language_code_filter      - used to change the badge/challenge language code
- google_invre_badge_position_filter     - used to change the badge position (possible returning values are: 'bottomright', 'bottomleft', 'inline')
- google_invre_ajax_submit_classnames    - used to change the CSS class names of submit buttons that trigger reCaptcha on AJAX forms (default: array('wpcf7-submit', 'invisible-recaptcha-do-submit'))
- google_invre_is_gf_excluded            - used to exclude a Gravity Forms form from protection (receives bool $is_excluded and int $form_id)

Constants (wp-config.php)

- INVISIBLE_RECAPTCHA_OVERRIDE - define as true to treat every request as valid (e.g. automated tests, staging) or as false to treat every request as invalid. Leave undefined for normal behavior.

隱形 reCAPTCHA 勾點使用範例

  • 在任何表單中加入隱形 reCAPTCHA

    在表單結尾標記前的任何位置插入以下程式碼:
    do_action(‘google_invre_render_widget_action’);

  • 驗證表單發佈要求

    $is_valid = apply_filters(‘google_invre_is_valid_request_filter’, true);
    if( ! $is_valid )
    {
    // 在這裡處理錯誤
    }
    else
    {
    // 撰寫網站專屬處理邏輯
    }

  • 變更服務徽章/驗證方式語言代碼

    add_filter( ‘google_invre_language_code_filter’, ‘myprefix_change_recaptcha_language’ );
    function myprefix_change_recaptcha_language($language_code){
    $language_code = ‘zh_TW’; // 台灣繁體中文
    return $language_code;
    }

檢視全部 reCAPTCHA 語言代碼

Note: This plugin requires PHP 7.1 or higher to be activated.

使用者評論

2025 年 10 月 31 日
Our site was created in 2020 and it's been a while since it was maintained. Now when we login, the reCaptcha appears but with no field to enter or mark the captcha in, thus causing failed logins.
2023 年 6 月 21 日
<p>We use v2 recaptcha code + this plugin on a "all" of our sites with gravity forms. Unfortunately we have GF on the home page (for capturing leads) where this loads and it adds a bunch of bloat (granted from google). It would be nice if there was a way to optimize this so it didn't load an additional 20-25 requests. </p> <p>Pros: drops spam considerably with gravity forms. Easy to implement.<br> Cons: slows your pagespeed scores down, can't defer JS otherwise it may not work. Adds about 20 or more resources from google just to enable recaptcha v2.</p> <!– wp:paragraph –> <p>UPDATE – invisible captcha has not worked for a very long time. I don't believe it's a plugin issue, it's just the captcha service does not really work anymore. Bots have figured a way around this.</p> <!– /wp:paragraph –>
2021 年 3 月 23 日
Thanks to this plugin not having been tested with the last 3 major WordPress updates, it managed to break my CF7 forms and Google Analytics form submission tracking from one day to the other. It looks like this plugin was abandoned, so I strongly advise against installing it. Unreliable!
閱讀全部 133 則使用者評論

參與者及開發者

以下人員參與了開源軟體〈Invisible reCaptcha〉的開發相關工作。

參與者

〈Invisible reCaptcha〉外掛目前已有 16 個本地化語言版本。 感謝全部譯者為這個外掛做出的貢獻。

將〈Invisible reCaptcha〉外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄。

變更記錄

1.3.2

  • Fixed conflict with two-factor authentication plugins (Wordfence, Two Factor and others): the second step of the login no longer requires a new reCAPTCHA token. A short-lived hash tied to the user is issued once reCAPTCHA has passed.
  • Added support for wp_login_form() via the login_form_bottom filter.
  • Added the INVISIBLE_RECAPTCHA_OVERRIDE constant to force the validation result from wp-config.php.
  • Added the google_invre_ajax_submit_classnames filter to customize the submit button class names used for AJAX forms.
  • Contact Form 7 and Gravity Forms: reCAPTCHA is now placed at the bottom of the form, and an existing spam verdict is no longer overridden by a valid token.
  • WooCommerce: earlier validation errors on login, registration and password reset are no longer overridden.
  • Fixed the reCAPTCHA widget being rendered for the wrong form when forms are nested.
  • Fixed a fatal error (infinite recursion) when Contact Form 7 protection was enabled.
  • Fixed Undefined property: WP_Error::$ID warnings when a login was rejected.
  • PHP 8.x: removed the spl_autoload_register() deprecation notices and the dynamic property deprecations.
  • Fixed a possible TypeError on the settings page when no page object is available.
  • Minimum supported PHP version is now 7.1.
  • Updated “Tested up to” to WordPress 7.1.

1.3.1

  • Removed inactive WooCommerce checkout protection code (commit details).
  • Removed unused licensing and external module-loading infrastructure.
  • Declared PHP 7.0 as the minimum supported PHP version.
  • Updated WordPress compatibility metadata.
  • Added a link to the Google Privacy Policy to the external service disclosure.
  • Corrected the setup documentation to specify Invisible reCAPTCHA v2.

1.3.0

  • PHP 8 compatibility
  • Removed the custom CSS feature

1.2.3

1.2.2

  • Fixed the compatibility with WPML 4.x – the multilingual WordPress plugin

1.2.1

1.2

1.1

  • Fixed PHP wrong Namespace issue
  • Fixed PHP warning when contact forms settings were saved for the first time
  • Moved Plugin Menu to Settings
  • Fixed PHP warning when contact forms settings were saved for the first time
  • Moved Plugin Menu to Settings

1.0.8

1.0.6

  • Fixed WooCommerce login and registration issue
  • Added Invisible reCaptcha for BuddyPress

1.0.5

  • Fixed Contact Form 7 issue reported by @silvercode
  • Added Invisible reCaptcha for Gravity Forms

1.0.4

  • Multisite compatible
  • Network interface ready
  • Fixed PHP7 warning

1.0.3

  • Added WordPress hooks for custom forms/plugins integrations

1.0.2

  • Added Badge Position option
  • Added Badge Custom CSS option
  • Added Language option

1.0.1

  • Fixed the Strict Standards Warning on PHP 5.4+

1.0

  • Initial release