/*
Plugin Name: Wordfence Security
Plugin URI: https://www.wordfence.com/
Description: Wordfence Security - Anti-virus, Firewall and Malware Scan
Author: Wordfence
Version: 8.0.5
Author URI: https://www.wordfence.com/
Text Domain: wordfence
Domain Path: /languages
Network: true
Requires at least: 4.7
Requires PHP: 7.0
License: GPLv3
License URI: https://www.gnu.org/licenses/gpl-3.0.html
@copyright Copyright (C) 2012-2023 Defiant Inc.
@license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License, version 3 or higher
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
if(defined('WP_INSTALLING') && WP_INSTALLING){
return;
}
if (!defined('ABSPATH')) {
exit;
}
define('WORDFENCE_VERSION', '8.0.5');
define('WORDFENCE_BUILD_NUMBER', '1744125809');
define('WORDFENCE_BASENAME', function_exists('plugin_basename') ? plugin_basename(__FILE__) :
basename(dirname(__FILE__)) . '/' . basename(__FILE__));
global $wp_plugin_paths;
foreach ($wp_plugin_paths as $dir => $realdir) {
if (strpos(__FILE__, $realdir) === 0) {
define('WORDFENCE_FCPATH', $dir . '/' . basename(__FILE__));
define('WORDFENCE_PATH', trailingslashit($dir));
break;
}
}
if (!defined('WORDFENCE_FCPATH')) {
/** @noinspection PhpConstantReassignmentInspection */
define('WORDFENCE_FCPATH', __FILE__);
/** @noinspection PhpConstantReassignmentInspection */
define('WORDFENCE_PATH', trailingslashit(dirname(WORDFENCE_FCPATH)));
}
if (!defined('WF_IS_WP_ENGINE')) {
define('WF_IS_WP_ENGINE', isset($_SERVER['IS_WPE']));
}
if (!defined('WF_IS_FLYWHEEL')) {
define('WF_IS_FLYWHEEL', isset($_SERVER['SERVER_SOFTWARE']) && strpos($_SERVER['SERVER_SOFTWARE'], 'Flywheel/') === 0);
}
if (!defined('WF_IS_PRESSABLE')) {
define('WF_IS_PRESSABLE', (defined('IS_ATOMIC') && IS_ATOMIC) || (defined('IS_PRESSABLE') && IS_PRESSABLE));
}
require(dirname(__FILE__) . '/lib/wfVersionSupport.php');
/**
* @var string $wfPHPDeprecatingVersion
* @var string $wfPHPMinimumVersion
* @var string $wfWordPressDeprecatingVersion
* @var string $wfWordPressMinimumVersion
*/
if (!defined('WF_PHP_UNSUPPORTED')) {
define('WF_PHP_UNSUPPORTED', version_compare(PHP_VERSION, $wfPHPMinimumVersion, '<'));
}
if (WF_PHP_UNSUPPORTED) {
add_action('all_admin_notices', 'wfUnsupportedPHPOverlay');
function wfUnsupportedPHPOverlay() {
include "views/unsupported-php/admin-message.php";
}
return;
}
if (!defined('WF_WP_UNSUPPORTED')) {
require(ABSPATH . 'wp-includes/version.php'); /** @var string $wp_version */
define('WF_WP_UNSUPPORTED', version_compare($wp_version, $wfWordPressMinimumVersion, '<'));
}
if (WF_WP_UNSUPPORTED) {
add_action('all_admin_notices', 'wfUnsupportedWPOverlay');
function wfUnsupportedWPOverlay() {
include "views/unsupported-wp/admin-message.php";
}
return;
}
if(get_option('wordfenceActivated') != 1){
add_action('activated_plugin','wordfence_save_activation_error'); function wordfence_save_activation_error(){ update_option('wf_plugin_act_error', ob_get_contents()); }
}
if(! defined('WORDFENCE_VERSIONONLY_MODE')){ //Used to get version from file.
//Duplicate block of wfUtils::memoryLimit(), copied here to avoid needing to include the class at this point of execution
$maxMemory = ini_get('memory_limit');
if (!(is_string($maxMemory) || is_numeric($maxMemory)) || !preg_match('/^\s*\d+[GMK]?\s*$/i', $maxMemory)) { $maxMemory = '128M'; } //Invalid or unreadable value, default to our minimum
$last = strtolower(substr($maxMemory, -1));
$maxMemory = (int) $maxMemory;
if ($last == 'g') { $maxMemory = $maxMemory * 1024 * 1024 * 1024; }
else if ($last == 'm') { $maxMemory = $maxMemory * 1024 * 1024; }
else if ($last == 'k') { $maxMemory = $maxMemory * 1024; }
if ($maxMemory < 134217728 /* 128 MB */ && $maxMemory > 0 /* Unlimited */) {
$disabled = ini_get('disable_functions');
if (!is_string($disabled) || strpos(ini_get('disable_functions'), 'ini_set') === false) {
@ini_set('memory_limit', '128M'); //Some hosts have ini set at as little as 32 megs. 128 is the min sane amount of memory.
}
}
/**
* Constant to determine if Wordfence is installed on another WordPress site one or more directories up in
* auto_prepend_file mode.
*/
define('WFWAF_SUBDIRECTORY_INSTALL', class_exists('wfWAF') &&
!in_array(realpath(dirname(__FILE__) . '/vendor/wordfence/wf-waf/src/init.php'), get_included_files()));
if (!WFWAF_SUBDIRECTORY_INSTALL) {
require_once(dirname(__FILE__) . '/vendor/wordfence/wf-waf/src/init.php');
if (!wfWAF::getInstance()) {
define('WFWAF_AUTO_PREPEND', false);
require_once(dirname(__FILE__) . '/waf/bootstrap.php');
}
}
//Modules
//Load
require_once(dirname(__FILE__) . '/lib/wordfenceConstants.php');
require_once(dirname(__FILE__) . '/lib/wordfenceClass.php');
wordfence::install_actions();
}
Ignite Your Wins: Experience amplified entertainment and boosted payouts through luckywave’s innovative platform. Understanding the Core Mechanics of luckywave The Role of luckywave in Slot Game Play Maximizing Benefits with Strategic Spins Exploring Special...
Embrace the Thrill: Multiply Your Stakes with Every Step – and Cash Out Smart on the chicken road game. Understanding the Core Gameplay Strategies for Maximizing Your Winnings The Psychological Element Managing Risk and...
Spanningend spelplezier en betrouwbare kansen vind je bij monixbet, hét platform voor online weddenschappen. Het aanbod van monixbet: Een diversiteit aan spellen Populaire slots bij monixbet Tafelspellen: Strategie en vaardigheid De live casino ervaring...
Apuesta con confianza, gana con estrategia: 1win, la plataforma que transforma tu suerte en momentos inolvidables. ¿Qué es 1win y qué lo hace diferente? La amplia selección de deportes y eventos Juegos de casino:...
Zábavná cesta za výhrou: Jak funguje plinko a co vám může přinést štěstí? Co je to plinko a jak funguje? Historie a vývoj hry plinko Strategie a tipy pro hráče plinko Různé varianty plinko...
This design philosophy ensures that the Betvisa app download process is as straightforward as possible, enabling users to start their betting adventure in no time. The application’s free availability further lowers entry barriers, inviting...
Kasyno Marvel – bezpieczeństwo i uczciwość w online casino ▶️ GRAĆ Содержимое Bezpieczeństwo w kasynie online: jak wybrać najlepsze kasyno Bezpieczeństwo Uczciwość w kasynie online: jak rozpoznać szkodliwe kasyna Zasady gry w kasynie online:...
Jetton Casino онлайн – слоты, краш-игры и другие развлечения ▶️ ИГРАТЬ Содержимое Слоты: классика и инновации Некоторые из лучших слотов в Jetton Casino Краш-игры: стратегия и удача Удача: фактор, который может изменить игру Другие...
Migliori slot online che pagano di più – guida per scegliere quelle giuste ▶️ GIOCARE Содержимое La scelta giusta: come identificare i migliori slot online Le caratteristiche chiave per un buon slot online Consigli...
This specialized structure deals with checking gambling sites’ compliance with all the necessary rules and regulations. Therefore, you can be sure that the site is in the legal field and that all its services...