HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: 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,
Upload Files
File: /var/www/vhost/disk-apps/qas.sports-crowd.com/app/Http/Controllers/Api/pagosbg.php
<?php

namespace App\Http\Controllers\Api;

function validateHash()
{
    try {
        include 'env.php'; // IMPORTAR ARCHIVO DE ENV PARA UTILIZAR LA VARIABLE 'CLAVE_SECRETA'
        $orderId = $_GET['orderId'];
        $status = $_GET['status'];
        $hash = $_GET['hash'];
        $domain = $_GET['domain'];
        $values = base64_decode(CLAVE_SECRETA);
        $secrete = explode('.', $values);
        $signature =  hash_hmac('sha256', $orderId . $status . $domain, $secrete[0]);
        $success = strcmp($hash, $signature) === 0;
    } catch (\Throwable $th) {
        $success = false;
    }
    return $success;
}


function logFile($data)
{
    $logFilePath = 'log.text';
    ob_start();

    // if you want to concatenate:
    if (file_exists($logFilePath)) {
        include($logFilePath);
    } else {
        touch($logFilePath);
    }
    // for timestamp
    $currentTime = date(DATE_RSS);

    // echo log statement(s) here
    echo "\n\n$currentTime - [log statement here]";

    $logFile = fopen($logFilePath, 'w');
    fwrite($logFile, $data);
    fclose($logFile);
    ob_end_flush();
}


if (isset($_GET['orderId']) && isset($_GET['status']) && isset($_GET['domain']) && isset($_GET['hash'])) {

    $this->logFile("llego al log");
    header('Content-Type: application/json');
    $success = validateHash();
    if ($success) {
        // Si es true, se debe cambiar el estado de la orden en la base de datos
    }
    echo json_encode(['succes' => $success]);
}