‪TYPO3CMS  ‪main
ConsumableNonce.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
22 
24 {
25  private const ‪MIN_BYTES = 40;
26 
27  public function ‪__construct(string $nonce = null)
28  {
29  if ($nonce === null || strlen($nonce) < self::MIN_BYTES) {
30  $nonce = random_bytes(self::MIN_BYTES);
31  $nonce = ‪StringUtility::base64urlEncode($nonce);
32  }
33  parent::__construct($nonce);
34  }
35 }
‪TYPO3\CMS\Core\Utility\StringUtility\base64urlEncode
‪static string base64urlEncode(string $value)
Definition: StringUtility.php:176
‪TYPO3\CMS\Core\Security\ContentSecurityPolicy\ConsumableNonce\__construct
‪__construct(string $nonce=null)
Definition: ConsumableNonce.php:27
‪TYPO3\CMS\Core\Security\ContentSecurityPolicy\ConsumableNonce
Definition: ConsumableNonce.php:24
‪TYPO3\CMS\Core\Security\ContentSecurityPolicy\ConsumableNonce\MIN_BYTES
‪const MIN_BYTES
Definition: ConsumableNonce.php:25
‪TYPO3\CMS\Core\Security\ContentSecurityPolicy
Definition: ConsumableNonce.php:18
‪TYPO3\CMS\Core\Domain\ConsumableString
Definition: ConsumableString.php:26
‪TYPO3\CMS\Core\Utility\StringUtility
Definition: StringUtility.php:24