File manager - Edit - /home/verseaumee/blueversion/wp-content/plugins/hcaptcha-for-forms-and-more/src/php/WP/Register.php
Back
<?php /** * Register class file. * * @package hcaptcha-wp */ namespace HCaptcha\WP; use HCaptcha\Helpers\HCaptcha; use WP_Error; /** * Class Register */ class Register { /** * WP login URL. */ const WP_LOGIN_URL = '/wp-login.php'; /** * Nonce action. */ const ACTION = 'hcaptcha_registration'; /** * Nonce name. */ const NONCE = 'hcaptcha_registration_nonce'; /** * Constructor. */ public function __construct() { $this->init_hooks(); } /** * Init hooks. */ private function init_hooks() { add_action( 'register_form', [ $this, 'add_captcha' ] ); add_filter( 'registration_errors', [ $this, 'verify' ], 10, 3 ); } /** * Add captcha. * * @return void */ public function add_captcha() { $request_uri = isset( $_SERVER['REQUEST_URI'] ) ? filter_var( wp_unslash( $_SERVER['REQUEST_URI'] ), FILTER_SANITIZE_FULL_SPECIAL_CHARS ) : ''; $request_uri = wp_parse_url( $request_uri, PHP_URL_PATH ); if ( false === strpos( $request_uri, self::WP_LOGIN_URL ) ) { return; } // phpcs:ignore WordPress.Security.NonceVerification.Recommended $action = isset( $_GET['action'] ) ? sanitize_text_field( wp_unslash( $_GET['action'] ) ) : ''; if ( 'register' !== $action ) { return; } $args = [ 'action' => self::ACTION, 'name' => self::NONCE, 'id' => [ 'source' => HCaptcha::get_class_source( __CLASS__ ), 'form_id' => 'register', ], ]; HCaptcha::form_display( $args ); } /** * Verify register captcha. * * @param WP_Error|mixed $errors A WP_Error object containing any errors encountered during * registration. * @param string $sanitized_user_login User's username after it has been sanitized. * @param string $user_email User's email. * * @return WP_Error|mixed * @noinspection PhpUnusedParameterInspection */ public function verify( $errors, string $sanitized_user_login, string $user_email ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended $action = isset( $_GET['action'] ) ? sanitize_text_field( wp_unslash( $_GET['action'] ) ) : ''; if ( 'register' !== $action ) { return $errors; } $error_message = hcaptcha_verify_post( self::NONCE, self::ACTION ); return HCaptcha::add_error_message( $errors, $error_message ); } }
| ver. 1.4 |
Github
|
.
| PHP 8.5.7 | Generation time: 0 |
proxy
|
phpinfo
|
Settings