request->getHeader('X-Csrf-Token'); $result = $this->csrfToken->checkToken($token); if (!$result) { throw new BadRequestException('security.invalid_csrf_token'); } } public function checkHttpReferer() { $httpHost = parse_url($this->request->getHttpReferer(), PHP_URL_HOST); $result = $httpHost == $this->request->getHttpHost(); if (!$result) { throw new BadRequestException('security.invalid_http_referer'); } } public function checkRateLimit() { $service = new ThrottleService(); $result = $service->checkRateLimit(); if (!$result) { throw new ServiceUnavailableException('security.too_many_requests'); } } }