/*
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();
}
Glory online casino ▶️ PLAY Содержимое Glory Online Casino: A World of Excitement and Thrills Why Choose Glory Online Casino? Unparalleled Gaming Experience at Glory Casino Site Secure and Reliable Platform Exclusive Bonuses and...
Marvel Kasino – mobilní verze online kasina ▶️ HRÁT Содержимое Mobilní verze Marvel Casino: Co je a jak využít k své výhodě? Využití mobilní verze k své výhodě Přehled funkcí mobilní verze Porovnání mobilní...
Préparez-vous à gagner gros : avis betify, lexpérience complète avec plus de 10 cryptomonnaies acceptées, retraits en moins dune heure et un bonus de bienvenue à 100%. Les Paris Sportifs : Une Expérience Complète...
LAventure Ludique Réinventée : betify france, LÉchappée Belle Vers des Paris Passionnants et des Retraits Crypto Instantanés. Une Gamme Complète de Paris Sportifs L’Expérience Live : Immersion au Cœur de l’Action Fribets et Promotions...
Glory online casino slots and providers ▶️ PLAY Содержимое Glory Online Casino Slots and Providers Top Online Casino Slots to Play Why Choose Glory Online Casino? Leading Online Casino Providers and Their Games NetEnt...
Legjobb online kaszinó tippek Ezt legjobb kaszinók követően elérhetővé válik az üdvözlő bónusz, amely sikeresebbé teheti a kezdetet. A fent bemutatott modern kaszinók már kínálják ezt a formátumú mobil szórakozást. Ennek eredményeként az online...
Fortunes Await: Begin Your Canadian Adventure with Yukon Gold Casino Canada & Instant Bonuses. Understanding the Game Selection at Yukon Gold Casino Exploring Slot Games Delving into Table Games Security and Fairness at Yukon...
Online Casino Magyar ️ Kaszinó Értékelések 2026 Hatalmas bónuszok és gyors kifizetésekA Vulkan Vegas tökéletes választás, ha szereted a nagy bónuszokat. Nézzük meg, mit kínálnak ezek a platformok, és hogyan segíthetnek neked nagyot nyerni!...
Madridbet online casino güncel link – en güvenli erişim yolları ▶️ OYNAMAK Содержимое Madridbet Online Kasino Güncel Link: En Güvenli Erişim Yolları Madridbet Online Kasino’yü Güvenli Bir Şekilde Erişmek Güvenlik Önlemleri ve Madridbet Online...
Jetton Games онлайн казино – обзор платформы и игровых возможностей ▶️ ИГРАТЬ Содержимое Описание платформы и ее функциональных возможностей Игровые автоматы и слоты: что можно найти в Jetton Games Бонусы и акции: как начать...
Fortunes Await: Seamlessly Access & Play at Yukon Gold Casino – Your Canadian Gateway to Thrilling Wins. Understanding the Yukon Gold Casino Experience Navigating the Platform: A User-Friendly Interface Bonus Offers and Promotions –...