1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
parametersigner.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\Main\Component;
4
5
use Bitrix\Main\Security;
6
use Bitrix\Main\Type\Date;
7
use Bitrix\Main\Type\DateTime;
8
use Bitrix\Main\Web\Uri;
9
10
class
ParameterSigner
11
{
19
public
static
function
signParameters
(
$componentName
, $parameters)
20
{
21
$signer =
new
Security\Sign\Signer
;
22
23
return
$signer->
sign
(
24
base64_encode(serialize($parameters)),
25
self::refineComponentName(
$componentName
)
26
);
27
}
28
37
public
static
function
unsignParameters
(
$componentName
, $signedParameters)
38
{
39
$signer =
new
Security\Sign\Signer
;
40
41
$unsignedParameters = $signer->
unsign
(
42
$signedParameters,
43
self::refineComponentName(
$componentName
)
44
);
45
46
$decoded = base64_decode($unsignedParameters);
47
if
($decoded ===
false
)
48
{
49
return
[];
50
}
51
52
return
static::unserialize($decoded);
53
}
54
55
private
static
function
unserialize(
string
$str
)
56
{
57
return
unserialize(
$str
, [
'allowed_classes'
=> [
58
DateTime::class,
59
Date::class,
60
Uri::class,
61
\DateTime::class,
62
\DateTimeZone::class,
63
]]);
64
}
65
66
protected
static
function
refineComponentName
(
$componentName
)
67
{
68
if
(!is_string(
$componentName
))
69
{
70
return
null
;
71
}
72
73
return
str_replace(
':'
,
''
,
$componentName
);
74
}
75
}
Bitrix\Main\Component\ParameterSigner
Определения
parametersigner.php:11
Bitrix\Main\Component\ParameterSigner\signParameters
static signParameters($componentName, $parameters)
Определения
parametersigner.php:19
Bitrix\Main\Component\ParameterSigner\unsignParameters
static unsignParameters($componentName, $signedParameters)
Определения
parametersigner.php:37
Bitrix\Main\Component\ParameterSigner\refineComponentName
static refineComponentName($componentName)
Определения
parametersigner.php:66
Bitrix\Main\Security\Sign\Signer
Определения
signer.php:14
Bitrix\Main\Security\Sign\Signer\sign
sign($value, $salt=null)
Определения
signer.php:122
Bitrix\Main\Security\Sign\Signer\unsign
unsign($signedValue, $salt=null)
Определения
signer.php:166
$str
$str
Определения
commerceml2.php:63
$componentName
$componentName
Определения
component_props2.php:49
bitrix
modules
main
lib
component
parametersigner.php
Создано системой
1.14.0