外掛說明
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
- Create a reCAPTCHA v2 site using the Invisible reCAPTCHA badge option: https://www.google.com/recaptcha/admin/create
- Copy the Site Key and Secret Key from the Google reCAPTCHA admin console.
- In WordPress, go to Settings > Invisible reCaptcha > Settings.
- Enter your Site Key and Secret Key.
- Save the settings.
- In the settings, choose which forms should be protected by reCAPTCHA.
- 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.
使用者評論
參與者及開發者
變更記錄
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 thelogin_form_bottomfilter. - Added the
INVISIBLE_RECAPTCHA_OVERRIDEconstant to force the validation result from wp-config.php. - Added the
google_invre_ajax_submit_classnamesfilter 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::$IDwarnings 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
- Fixed class not found issue Problem with AJAX after update
1.2.2
- Fixed the compatibility with WPML 4.x – the multilingual WordPress plugin
1.2.1
1.2
- Fixed Contact Form 7 issue Cannot contact reCAPTCHA. Check your connection and try again
- Improved Gravity Forms protection
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
- Added integration with Ultra Community Membership plugin
- Fixed Reset Password redirect issue
- Fixed Badge CSS not working for Login/Register page
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
