| Server IP : 27.254.86.99 / Your IP : 216.73.216.234 Web Server : LiteSpeed System : Linux wp1.hostneverdie.com 4.18.0-553.46.1.lve.el8.x86_64 #1 SMP Wed Apr 2 11:16:45 UTC 2025 x86_64 User : qtccargo ( 1078) PHP Version : 8.2.29 Disable Function : apache_child_terminate, apache_setenv, define_syslog_variables, escapeshellarg, escapeshellcmd,exec, fp, fput, highlight_file, ini_alter, ini_restore, inject_code, passthru,phpAds_remoteInfo, phpAds_XmlRpc,phpAds_xmlrpcDecode, phpAds_xmlrpcEncode, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid,posix_setuid, posix_setuid, posix_uname,proc_open,proc_close, proc_get_status, proc_nice, proc_terminate, shell_exec, syslog, system, xmlrpc_entity_decode, show_source,pcntl_exec,virtual,suexec,dbmopen,dl,disk_free_space,diskfreespace,leak MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/qtccargo/domains/iamumbrella.com/private_html/wp-content/plugins/wordfence/lib/ |
Upload File : |
<?php
class wfWebsiteEphemeralPayloadRetrievalException extends RuntimeException {
}
class wfWebsiteEphemeralPayloadExpiredException extends wfWebsiteEphemeralPayloadRetrievalException {
const STATUS = 404;
public function __construct() {
parent::__construct('Ephemeral payload expired', self::STATUS);
}
}
class wfWebsiteEphemeralPayloadRateLimitedException extends wfWebsiteEphemeralPayloadRetrievalException {
const STATUS = 429;
public function __construct() {
parent::__construct('Request limit reached', self::STATUS);
}
}
/**
* Utilities related to the Wordfence website (wordfence.com)
*/
class wfWebsite {
private static $INSTANCE = null;
private $url;
private function __construct($url) {
$this->url = trailingslashit($url);
}
public function getUrl($relative) {
return $this->url . $relative;
}
public function retrievePayload($token, &$expired) {
$url = $this->getUrl("api/ephemeral-payload/$token");
$response = wp_remote_get($url);
$status = wp_remote_retrieve_response_code($response);
if (!is_wp_error($response) && $status === 200) {
return wp_remote_retrieve_body($response);
}
switch ($status) {
case wfWebsiteEphemeralPayloadExpiredException::STATUS:
throw new wfWebsiteEphemeralPayloadExpiredException();
case wfWebsiteEphemeralPayloadRateLimitedException::STATUS:
throw new wfWebsiteEphemeralPayloadRateLimitedException();
default:
throw new wfWebsiteEphemeralPayloadRetrievalException('Failed to retrieve ephemeral payload', (int) $status);
}
}
public static function getInstance() {
if (self::$INSTANCE === null)
self::$INSTANCE = new self(WORDFENCE_WWW_BASE_URL);
return self::$INSTANCE;
}
public static function url($relative) {
return self::getInstance()->getUrl($relative);
}
}