403Webshell
Server IP : 172.67.75.225  /  Your IP : 216.73.216.185
Web Server : nginx/1.27.1
System : Linux us-1 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64
User : vinodai ( 3134)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /storage/v1396/themastermynd/public_html/wp-content/plugins/mailpoet/lib/Captcha/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /storage/v1396/themastermynd/public_html/wp-content/plugins/mailpoet/lib/Captcha/TurnstileHooks.php
<?php declare(strict_types = 1);

namespace MailPoet\Captcha;

if (!defined('ABSPATH')) exit;


use MailPoet\Config\Env;
use MailPoet\Config\Renderer as BasicRenderer;
use MailPoet\Settings\SettingsController;
use MailPoet\WP\Functions as WPFunctions;

class TurnstileHooks {

  const TURNSTILE_LIB_URL = 'https://challenges.cloudflare.com/turnstile/v0/api.js';

  /** @var WPFunctions */
  private $wp;

  /** @var BasicRenderer */
  private $renderer;

  /** @var SettingsController */
  private $settings;

  /** @var TurnstileValidator */
  private $turnstileValidator;

  /** @var TurnstileRenderer */
  private $turnstileRenderer;

  public function __construct(
    WPFunctions $wp,
    BasicRenderer $renderer,
    SettingsController $settings,
    TurnstileValidator $turnstileValidator,
    TurnstileRenderer $turnstileRenderer
  ) {
    $this->wp = $wp;
    $this->renderer = $renderer;
    $this->settings = $settings;
    $this->turnstileValidator = $turnstileValidator;
    $this->turnstileRenderer = $turnstileRenderer;
  }

  public function isEnabled(): bool {
    try {
      if (!$this->settings->get(CaptchaConstants::ON_REGISTER_FORMS_SETTING_NAME, false)) {
        return false;
      }

      return CaptchaConstants::isTurnstile(
        $this->settings->get('captcha.type')
      );
    } catch (\Throwable $e) {
      return false;
    }
  }

  public function enqueueScripts() {
    $this->wp->wpEnqueueScript(
      'mailpoet_turnstile',
      self::TURNSTILE_LIB_URL,
      [],
      false,
      [
        'in_footer' => true,
        'strategy' => 'defer',
      ]
    );

    $this->wp->wpEnqueueStyle(
      'mailpoet_public',
      Env::$assetsUrl . '/dist/css/' . $this->renderer->getCssAsset('mailpoet-public.css')
    );

    $this->wp->wpEnqueueScript(
      'mailpoet_public',
      Env::$assetsUrl . '/dist/js/' . $this->renderer->getJsAsset('public.js'),
      ['jquery'],
      Env::$version,
      [
        'in_footer' => true,
        'strategy' => 'defer',
      ]
    );

    $ajaxFailedErrorMessage = __('An error has happened while performing a request, please try again later.', 'mailpoet');
    $this->wp->wpLocalizeScript('mailpoet_public', 'MailPoetForm', [
      'ajax_url' => $this->wp->adminUrl('admin-ajax.php'),
      'is_rtl' => $this->wp->isRtl(),
      'ajax_common_error_message' => $ajaxFailedErrorMessage,
      'collect_subscriber_timezones' => $this->settings->isSettingEnabled('collect_subscriber_timezones.enabled'),
    ]);
  }

  public function render() {
    // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    echo $this->turnstileRenderer->render();
  }

  public function validate(\WP_Error $errors) {
    try {
      // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
      $responseToken = $_POST['cf-turnstile-response'] ?? '';
      $this->turnstileValidator->validate(is_string($responseToken) ? $responseToken : '');
    } catch (\Throwable $e) {
      $errors->add('turnstile_failed', $e->getMessage());
    }

    return $errors;
  }
}

Youez - 2016 - github.com/yon3zu
LinuXploit