Server IP : 192.158.238.246 / Your IP : 3.147.86.123 Web Server : LiteSpeed System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64 User : jenniferflocom ( 1321) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/7779/cwd/plugins/give/src/DonationForms/Routes/ |
Upload File : |
<?php namespace Give\DonationForms\Routes; /** * @since 3.0.0 */ class DonateRouteSignature { /** * @var string */ private $signature; /** * @var string */ public $expiration; /** * @since 3.0.0 */ public function __construct(string $name, string $expiration = null) { $this->expiration = $expiration ?: $this->createExpirationTimestamp(); $this->signature = $this->generateSignatureString($name, $this->expiration); } /** * @since 3.0.0 */ private function generateSignatureString(string $name, string $expiration): string { return "$name|$expiration"; } /** * @since 3.0.0 * * @return string */ public function toString(): string { return $this->signature; } /** * @since 3.0.0 * * @return string */ public function toHash(): string { return wp_hash($this->signature); } /** * Create expiration timestamp * * @since 3.0.0 * * @return string */ public function createExpirationTimestamp(): string { return (string)current_datetime()->modify('+1 day')->getTimestamp(); } /** * @since 3.0.0 */ public function isValid(string $suppliedSignature): bool { $isSignatureValid = hash_equals( $suppliedSignature, $this->toHash() ); $isNotExpired = ((int)$this->expiration) >= current_datetime()->getTimestamp(); return $isSignatureValid && $isNotExpired; } }