1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
uploaderfilesigner.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\Main\UserField\File;
4
5
6
use Bitrix\Main\Security\Sign\Signer;
7
use Bitrix\Main\Security\Sign\BadSignatureException;
8
9
class
UploaderFileSigner
10
{
11
private
const
SALT_PREFIX =
'UploaderFileSigner_'
;
12
public
function
__construct
(
13
private
readonly
string
$entityId
,
14
private
readonly
string
$fieldName
15
)
16
{
17
}
18
19
public
function
sign
(
int
$fileId): string
20
{
21
return
(
new
Signer
())->sign((
string
)$fileId, $this->getSalt());
22
}
23
24
public
function
verify
(
string
$signedString,
int
$fileId): bool
25
{
26
try
27
{
28
$unsignedFileId = (int)(
new
Signer
())->unsign($signedString, $this->getSalt());
29
30
return
($fileId === $unsignedFileId);
31
}
32
catch
(
BadSignatureException
$e)
33
{
34
return
false
;
35
}
36
37
return
false
;
38
}
39
40
private
function
getSalt(): string
41
{
42
return
substr(preg_replace(
'/[^a-zA-Z0-9_.-]+/i'
,
''
,self::SALT_PREFIX .
'_'
. $this->entityId .
'_'
. $this->fieldName), 0, 50);
43
}
44
}
Bitrix\Main\Security\Sign\BadSignatureException
Определения
badsignatureexception.php:13
Bitrix\Main\Security\Sign\Signer
Определения
signer.php:14
Bitrix\Main\UserField\File\UploaderFileSigner
Определения
uploaderfilesigner.php:10
Bitrix\Main\UserField\File\UploaderFileSigner\__construct
__construct(private readonly string $entityId, private readonly string $fieldName)
Определения
uploaderfilesigner.php:12
Bitrix\Main\UserField\File\UploaderFileSigner\sign
sign(int $fileId)
Определения
uploaderfilesigner.php:19
Bitrix\Main\UserField\File\UploaderFileSigner\verify
verify(string $signedString, int $fileId)
Определения
uploaderfilesigner.php:24
$entityId
$entityId
Определения
payment.php:4
bitrix
modules
main
lib
userfield
file
uploaderfilesigner.php
Создано системой
1.14.0