Kernel : Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
Disable function : 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,
Safe mode : OFF
Host : diestoffstrasse.com | Server ip : 127.0.0.1 | Your ip : 127.0.0.1 | Time @ Server : 23 Aug 2025 23:03:10
MySQL : OFF | MSSQL : OFF | cURL : ON | Oracle : OFF | wget : ON | Perl : ON

/home/dev2.destoffenstraat.com/vendor-1/magento/framework/Code/Reader/

HOME about upload exec mass file domain root vuln newfile newfolder kill me

File Path : /home/dev2.destoffenstraat.com/vendor-1/magento/framework/Code/Reader/ClassReader.php

<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\Code\Reader; /** * Class ClassReader */ class ClassReader implements ClassReaderInterface { private $parentsCache = []; /** * Read class constructor signature * * @param string $className * @return array|null * @throws \ReflectionException */ public function getConstructor($className) { $class = new \ReflectionClass($className); $result = null; $constructor = $class->getConstructor(); if ($constructor) { $result = []; /** @var $parameter \ReflectionParameter */ foreach ($constructor->getParameters() as $parameter) { try { $result[] = [ $parameter->getName(), $parameter->getClass() !== null ? $parameter->getClass()->getName() : null, !$parameter->isOptional() && !$parameter->isDefaultValueAvailable(), $this->getReflectionParameterDefaultValue($parameter), $parameter->isVariadic(), ]; } catch (\ReflectionException $e) { $message = sprintf( 'Impossible to process constructor argument %s of %s class', $parameter->__toString(), $className ); throw new \ReflectionException($message, 0, $e); } } } return $result; } /** * Get reflection parameter default value * * @param \ReflectionParameter $parameter * @return array|mixed|null */ private function getReflectionParameterDefaultValue(\ReflectionParameter $parameter) { if ($parameter->isVariadic()) { return []; } return $parameter->isDefaultValueAvailable() ? $parameter->getDefaultValue() : null; } /** * Retrieve parent relation information for type in a following format * array( * 'Parent_Class_Name', * 'Interface_1', * 'Interface_2', * ... * ) * * @param string $className * @return string[] */ public function getParents($className) { if (isset($this->parentsCache[$className])) { return $this->parentsCache[$className]; } $parentClass = get_parent_class($className); if ($parentClass) { $result = []; $interfaces = class_implements($className); if ($interfaces) { $parentInterfaces = class_implements($parentClass); if ($parentInterfaces) { $result = array_values(array_diff($interfaces, $parentInterfaces)); } else { $result = array_values($interfaces); } } array_unshift($result, $parentClass); } else { $result = array_values(class_implements($className)); if ($result) { array_unshift($result, null); } else { $result = []; } } $this->parentsCache[$className] = $result; return $result; } }