| Server IP : 188.114.96.2 / Your IP : 104.23.197.231 Web Server : Apache/2.4.59 (Debian) System : Linux EDL-STRETCH 4.19.0-27-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64 User : edlftp ( 1002) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/nicolasj/www/blog.ecoledelangues.be/wp-content/plugins/wordfence/waf/ |
Upload File : |
<?php
require_once __DIR__ . '/wfWAFBlockConstants.php';
class wfWAFBlockI18n implements wfWAFBlockConstants {
protected static function formatBlockDescription($translated, $key) {
$parameters = array();
$formatString = $translated ? self::getBlockFormatString($key) : $key;
if ($formatString === null) {
$parsed = self::parseBlockKey($key, $parameters);
if ($parsed === null) {
return $key;
}
$formatString = $translated ? self::getBlockFormatString($parsed) : $key;
} else {
if (func_num_args() <= 2) {
return $formatString;
}
$parameters = array_slice(func_get_args(), 2);
}
array_unshift($parameters, $formatString);
return call_user_func_array('sprintf', $parameters);
}
public static function getTranslatedBlockDescription($key) {
$args = func_get_args();
array_unshift($args, true);
return call_user_func_array(array(get_called_class(), 'formatBlockDescription'), $args);
}
protected static function getBlockFormatString($key) {
switch ($key) {
case self::WFWAF_BLOCK_UAREFIPRANGE:
return __('UA/Referrer/IP Range not allowed', 'wordfence');
case self::WFWAF_BLOCK_COUNTRY:
return __('blocked access via country blocking', 'wordfence');
case self::WFWAF_BLOCK_COUNTRY_REDIR:
return /* translators: URL */ __('blocked access via country blocking and redirected to URL (%s)', 'wordfence');
case self::WFWAF_BLOCK_COUNTRY_BYPASS_REDIR:
return __('redirected to bypass URL', 'wordfence');
case self::WFWAF_BLOCK_WFSN:
return __('Blocked by Wordfence Security Network', 'wordfence');
case self::WFWAF_BLOCK_BADPOST:
return __('POST received with blank user-agent and referer', 'wordfence');
case self::WFWAF_BLOCK_BANNEDURL:
return __('Accessed a banned URL', 'wordfence');
case self::WFWAF_BLOCK_INVALIDUSERNAME:
/* translators: WordPress username. */
return __("Used an invalid username '%s' to try to sign in", 'wordfence');
case self::WFWAF_BLOCK_LOGINSEC:
return __('Blocked by login security setting', 'wordfence');
case self::WFWAF_BLOCK_LOGINSEC_FORGOTPASSWD:
/* translators: 1. Password reset limit (number). 2. WordPress username. */
return __('Exceeded the maximum number of tries to recover their password which is set at: %1$s. The last username or email they entered before getting locked out was: \'%2$s\'', 'wordfence');
case self::WFWAF_BLOCK_LOGINSEC_FAILURES:
/* translators: 1. Login attempt limit. 2. WordPress username. */
return __('Exceeded the maximum number of login failures which is: %1$s. The last username they tried to sign in with was: \'%2$s\'', 'wordfence');
case self::WFWAF_BLOCK_MANUAL:
return __('Manual block by administrator', 'wordfence');
case self::WFWAF_BLOCK_THROTTLEGLOBAL:
return __('Exceeded the maximum global requests per minute for crawlers or humans.', 'wordfence');
case self::WFWAF_BLOCK_THROTTLECRAWLER:
return __('Exceeded the maximum number of requests per minute for crawlers.', 'wordfence');
case self::WFWAF_BLOCK_THROTTLECRAWLERNOTFOUND:
return __('Exceeded the maximum number of page not found errors per minute for a crawler.', 'wordfence');
case self::WFWAF_BLOCK_THROTTLEHUMAN:
return __('Exceeded the maximum number of page requests per minute for humans.', 'wordfence');
case self::WFWAF_BLOCK_THROTTLEHUMANNOTFOUND:
return __('Exceeded the maximum number of page not found errors per minute for humans.', 'wordfence');
default:
return null;
}
}
protected static function parseBlockKey($string, &$parameters = null) {
if ($string !== null) {
$formatPatternStrings = array(
self::WFWAF_BLOCK_COUNTRY_REDIR => self::WFWAF_BLOCK_COUNTRY_REDIR_REGEX,
self::WFWAF_BLOCK_INVALIDUSERNAME => self::WFWAF_BLOCK_INVALIDUSERNAME_REGEX,
self::WFWAF_BLOCK_LOGINSEC_FORGOTPASSWD => self::WFWAF_BLOCK_LOGINSEC_FORGOTPASSWD_REGEX,
self::WFWAF_BLOCK_LOGINSEC_FAILURES => self::WFWAF_BLOCK_LOGINSEC_FAILURES_REGEX,
);
foreach ($formatPatternStrings as $formatString => $pattern) {
$flags = 0;
if (defined('PREG_UNMATCHED_AS_NULL')) {
$flags = PREG_UNMATCHED_AS_NULL;
}
if (preg_match($pattern, $string, $matches, $flags)) {
array_shift($matches);
$parameters = $matches;
return $formatString;
}
}
}
$parameters = null;
return null;
}
/**
* Map the WFWAF_BLOCK_ constants to translated strings
* (The constants are string descriptions for legacy reasons and should
* now be regarded as identifiers)
* @param string $key the WFWAF_BLOCK_ constant
* @param ...$parameters any format parameters to pass to the description
* @return string a translated description when available, otherwise the original text
*/
public static function getBlockDescription($key) {
$args = func_get_args();
array_unshift($args, false);
return call_user_func_array(array(get_called_class(), 'formatBlockDescription'), $args);
}
public static function matchesBlockKey($string, $key) {
if ($key === $string)
return true;
return self::parseBlockKey($string) === $key;
}
}