| Server IP : 89.108.64.180 / Your IP : 216.73.217.92 Web Server : Apache/2.4.41 (Ubuntu) System : Linux 89-108-64-180.cloudvps.regruhosting.ru 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : www-root ( 1010) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/hotelzm.com/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);
}
}