isSignatureValid($request)) { $parsedBody = json_decode($request->getParsedBody()['arguments'], true); $fileUid = $parsedBody['image']; $image = null; if (MathUtility::canBeInterpretedAsInteger($fileUid)) { try { $image = $this->resourceFactory->getFileObject($fileUid); } catch (FileDoesNotExistException $e) { } } $view = $this->backendViewFactory->create($request); $view->assignMultiple([ 'image' => $image, 'cropVariants' => $parsedBody['cropVariants'], ]); return new HtmlResponse($view->render('Form/ImageManipulationWizard')); } return new HtmlResponse('', 403); } /** * Check if hmac signature is correct * * @param ServerRequestInterface $request the request with the POST parameters */ protected function isSignatureValid(ServerRequestInterface $request): bool { $token = $this->hashService->hmac($request->getParsedBody()['arguments'], 'ajax_wizard_image_manipulation'); return hash_equals($token, $request->getParsedBody()['signature']); } }