DDoS-атаки в Symfony2

Я хотел бы интегрировать скрипт, который позволит избежать атаки DDos в проекте Symfony. Хотя я пытался создать прослушиватель событий, чтобы выполнить работу, мне это не удалось.

Ниже созданный скрипт в слушателе symfony2:

public function onKernelRequest(GetResponseEvent $event) {
$session = $this->requestStatck->getCurrentRequest()->getSession();

if (!$event->isMasterRequest()) {
// don't do anything if it's not the master request
return;
}

if($session->get('last_session_request') > time() - 2 ){
die('DDos attack');
}

$session->set('last_session_request',  time());
}

Это вызывает у меня некоторые проблемы при просмотре страницы, такие как отсутствие стиля страницы, отсутствие js, ..

Я работаю с Symfony2 версии 2.7.7

Я с нетерпением жду решения.

Спасибо.

0

Решение

Бросить исключение вместо die в вашем коде:

use Symfony\Component\HttpKernel\Exception\HttpException;

// ...

if($session->get('last_session_request') > time() - 2 ){
throw new HttpException('DDos attack', 403); // Return a 403 Forbidden
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector