File Manager Lite
Dir:
/home/u540325668/domains/mkjsindia.org/public_html_old/vendor/symfony/http-kernel
Upload
[..]
.gitattributes (79 B)
Edit
Rename
Del
Bundle/
Rename
Del
CHANGELOG.md (12.35 KB)
Edit
Rename
Del
CacheClearer/
Rename
Del
CacheWarmer/
Rename
Del
Client.php (6.01 KB)
Edit
Rename
Del
Config/
Rename
Del
Controller/
Rename
Del
ControllerMetadata/
Rename
Del
DataCollector/
Rename
Del
Debug/
Rename
Del
DependencyInjection/
Rename
Del
Event/
Rename
Del
EventListener/
Rename
Del
Exception/
Rename
Del
Fragment/
Rename
Del
HttpCache/
Rename
Del
HttpClientKernel.php (3.58 KB)
Edit
Rename
Del
HttpKernel.php (9.65 KB)
Edit
Rename
Del
HttpKernelBrowser.php (662 B)
Edit
Rename
Del
HttpKernelInterface.php (1.22 KB)
Edit
Rename
Del
Kernel.php (30.64 KB)
Edit
Rename
Del
KernelEvents.php (3 KB)
Edit
Rename
Del
KernelInterface.php (3.97 KB)
Edit
Rename
Del
LICENSE (1.04 KB)
Edit
Rename
Del
Log/
Rename
Del
Profiler/
Rename
Del
README.md (706 B)
Edit
Rename
Del
RebootableInterface.php (779 B)
Edit
Rename
Del
Resources/
Rename
Del
TerminableInterface.php (910 B)
Edit
Rename
Del
UriSigner.php (2.89 KB)
Edit
Rename
Del
composer.json (2.2 KB)
Edit
Rename
Del
Edit: UriSigner.php
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel; /** * Signs URIs. * * @author Fabien Potencier <fabien@symfony.com> */ class UriSigner { private $secret; private $parameter; /** * @param string $secret A secret * @param string $parameter Query string parameter to use */ public function __construct(string $secret, string $parameter = '_hash') { $this->secret = $secret; $this->parameter = $parameter; } /** * Signs a URI. * * The given URI is signed by adding the query string parameter * which value depends on the URI and the secret. * * @param string $uri A URI to sign * * @return string The signed URI */ public function sign($uri) { $url = parse_url($uri); if (isset($url['query'])) { parse_str($url['query'], $params); } else { $params = []; } $uri = $this->buildUrl($url, $params); $params[$this->parameter] = $this->computeHash($uri); return $this->buildUrl($url, $params); } /** * Checks that a URI contains the correct hash. * * @param string $uri A signed URI * * @return bool True if the URI is signed correctly, false otherwise */ public function check($uri) { $url = parse_url($uri); if (isset($url['query'])) { parse_str($url['query'], $params); } else { $params = []; } if (empty($params[$this->parameter])) { return false; } $hash = $params[$this->parameter]; unset($params[$this->parameter]); return hash_equals($this->computeHash($this->buildUrl($url, $params)), $hash); } private function computeHash(string $uri): string { return base64_encode(hash_hmac('sha256', $uri, $this->secret, true)); } private function buildUrl(array $url, array $params = []): string { ksort($params, SORT_STRING); $url['query'] = http_build_query($params, '', '&'); $scheme = isset($url['scheme']) ? $url['scheme'].'://' : ''; $host = isset($url['host']) ? $url['host'] : ''; $port = isset($url['port']) ? ':'.$url['port'] : ''; $user = isset($url['user']) ? $url['user'] : ''; $pass = isset($url['pass']) ? ':'.$url['pass'] : ''; $pass = ($user || $pass) ? "$pass@" : ''; $path = isset($url['path']) ? $url['path'] : ''; $query = isset($url['query']) && $url['query'] ? '?'.$url['query'] : ''; $fragment = isset($url['fragment']) ? '#'.$url['fragment'] : ''; return $scheme.$user.$pass.$host.$port.$path.$query.$fragment; } }
Simpan