diff options
Diffstat (limited to 'plugins/jetpack/vendor/automattic/jetpack-sync/src/modules/class-protect.php')
-rw-r--r-- | plugins/jetpack/vendor/automattic/jetpack-sync/src/modules/class-protect.php | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/plugins/jetpack/vendor/automattic/jetpack-sync/src/modules/class-protect.php b/plugins/jetpack/vendor/automattic/jetpack-sync/src/modules/class-protect.php new file mode 100644 index 00000000..ebd62ff8 --- /dev/null +++ b/plugins/jetpack/vendor/automattic/jetpack-sync/src/modules/class-protect.php @@ -0,0 +1,53 @@ +<?php +/** + * Protect sync module. + * + * @package automattic/jetpack-sync + */ + +namespace Automattic\Jetpack\Sync\Modules; + +use Automattic\Jetpack\Constants as Jetpack_Constants; + +/** + * Class to handle sync for Protect. + * Logs BruteProtect failed logins via sync. + */ +class Protect extends Module { + /** + * Sync module name. + * + * @access public + * + * @return string + */ + public function name() { + return 'protect'; + } + + /** + * Initialize Protect action listeners. + * + * @access public + * + * @param callable $callback Action handler callable. + */ + public function init_listeners( $callback ) { + add_action( 'jpp_log_failed_attempt', array( $this, 'maybe_log_failed_login_attempt' ) ); + add_action( 'jetpack_valid_failed_login_attempt', $callback ); + } + + /** + * Maybe log a failed login attempt. + * + * @access public + * + * @param array $failed_attempt Failed attempt data. + */ + public function maybe_log_failed_login_attempt( $failed_attempt ) { + $protect = \Jetpack_Protect_Module::instance(); + if ( $protect->has_login_ability() && ! Jetpack_Constants::is_true( 'XMLRPC_REQUEST' ) ) { + do_action( 'jetpack_valid_failed_login_attempt', $failed_attempt ); + } + } +} |