|
Server IP : 10.131.40.8 / Your IP : 216.73.216.37 Web Server : Apache System : Linux webd008.cluster131.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64 User : ludmqhh ( 137773) PHP Version : 8.4.10 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0705) : /home/ludmqhh/www/hotel-forum/wp-content/_plugins/wordfence/vendor/wordfence/wf-waf/src/lib/ |
| [ Home ] | [ C0mmand ] | [ Upload File ] |
|---|
<?php
class wfWafApiException extends Exception {
}
class wfWafMissingApiKeyException extends wfWafApiException {
}
class wfWafApi {
private $waf;
private $apiKey;
public function __construct($waf) {
$this->waf = $waf;
$this->apiKey = $this->getConfig('apiKey');
if (empty($this->apiKey))
throw new wfWafMissingApiKeyException('No API key is available');
}
private function getConfig($key) {
return $this->waf->getStorageEngine()->getConfig($key, null, 'synced');
}
private function guessSiteUrl() {
return sprintf('%s://%s/', $this->waf->getRequest()->getProtocol(), $this->waf->getRequest()->getHost());
}
private function guessSiteUrlIfNecessary($configKey) {
$url = $this->getConfig($configKey);
if (!$url)
$url = $this->guessSiteUrl();
return $url;
}
private function getSiteUrl() {
return $this->guessSiteUrlIfNecessary('siteURL');
}
private function getHomeUrl() {
return $this->guessSiteUrlIfNecessary('homeURL');
}
private function buildQueryString($additionalParameters = array()) {
$parameters = array(
'k' => $this->apiKey,
's' => $this->getSiteUrl(),
'h' => $this->getHomeUrl(),
't' => microtime(true),
'lang' => $this->getConfig('WPLANG')
);
$parameters = array_merge($parameters, $additionalParameters);
return http_build_query($parameters, '', '&');
}
private function buildUrl($queryParameters, $path = '') {
return WFWAF_API_URL_SEC . $path . '?' . $this->buildQueryString($queryParameters);
}
public function actionGet($action, $parameters = array()) {
$parameters['action'] = $action;
$url = $this->buildUrl($parameters);
$response = wfWAFHTTP::get($url);
if ($response === false)
throw new wfWafApiException('Request failed');
return $response;
}
}