Mercurial > hg > isophonics-drupal-site
diff vendor/symfony/http-kernel/UriSigner.php @ 14:1fec387a4317
Update Drupal core to 8.5.2 via Composer
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:46:53 +0100 |
parents | 4c8ae668cc8c |
children | 129ea1e6d783 |
line wrap: on
line diff
--- a/vendor/symfony/http-kernel/UriSigner.php Mon Apr 23 09:33:26 2018 +0100 +++ b/vendor/symfony/http-kernel/UriSigner.php Mon Apr 23 09:46:53 2018 +0100 @@ -19,21 +19,22 @@ class UriSigner { private $secret; + private $parameter; /** - * Constructor. - * - * @param string $secret A secret + * @param string $secret A secret + * @param string $parameter Query string parameter to use */ - public function __construct($secret) + public function __construct($secret, $parameter = '_hash') { $this->secret = $secret; + $this->parameter = $parameter; } /** * Signs a URI. * - * The given URI is signed by adding a _hash query string parameter + * 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 @@ -51,16 +52,12 @@ $uri = $this->buildUrl($url, $params); - return $uri.(false === strpos($uri, '?') ? '?' : '&').'_hash='.$this->computeHash($uri); + return $uri.(false === strpos($uri, '?') ? '?' : '&').$this->parameter.'='.$this->computeHash($uri); } /** * Checks that a URI contains the correct hash. * - * The _hash query string parameter must be the last one - * (as it is generated that way by the sign() method, it should - * never be a problem). - * * @param string $uri A signed URI * * @return bool True if the URI is signed correctly, false otherwise @@ -74,12 +71,12 @@ $params = array(); } - if (empty($params['_hash'])) { + if (empty($params[$this->parameter])) { return false; } - $hash = urlencode($params['_hash']); - unset($params['_hash']); + $hash = urlencode($params[$this->parameter]); + unset($params[$this->parameter]); return $this->computeHash($this->buildUrl($url, $params)) === $hash; }