dakata__92
Super Moderator
Здравейте. Пиша си специфична защитна стена за един проект на Ларавел. Необходимо ми е в middleware-а с име Firewall да добавя и засичане броя на заявките подадени от едно ИП за 1 секунда. Throttle не ми върши работа.
Искам в този метод да добавя проверката и да си извърша логиката по него. Как мога да засека колко заявки са направени към дадената страница? Предполагам ще трябва да кеширам някаква информация.
Нещо подобно ли ми е необходимо?
Код:
private function firewall($request)
{
$logs = storage()->logs();
$data = $logs->data();
if (in_array($request->ip(), config('http.middleware.firewall.blocked.ip', []))) {
$message = '[Firewall]: Forbidden 403 -> Blocked Internet Protocol!';
$logs->insert('warning', 'guests', $message, $data);
abort(403);
}
}
Нещо подобно ли ми е необходимо?
Код:
$count = cache()->get($request->ip()) ? cache()->get($request->ip()) : 0;
cache()->put($request->ip(), $count+1, 60);
dd( cache()->get($request->ip()));