Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/main/lib/userfield/file/ |
Upload File : |
<?php namespace Bitrix\Main\UserField\File; use Bitrix\Main\Security\Sign\Signer; use Bitrix\Main\Security\Sign\BadSignatureException; class UploaderFileSigner { private const SALT_PREFIX = 'UploaderFileSigner_'; public function __construct( private readonly string $entityId, private readonly string $fieldName ) { } public function sign(int $fileId): string { return (new Signer())->sign((string)$fileId, $this->getSalt()); } public function verify(string $signedString, int $fileId): bool { try { $unsignedFileId = (int)(new Signer())->unsign($signedString, $this->getSalt()); return ($fileId === $unsignedFileId); } catch (BadSignatureException $e) { return false; } return false; } private function getSalt(): string { return substr(preg_replace('/[^a-zA-Z0-9_.-]+/i', '',self::SALT_PREFIX . '_' . $this->entityId .'_' . $this->fieldName), 0, 50); } }