Собственно, вот моя функция контроля флуда.
public function StopFlud($user)
{
$search_user =\DB::table('stop_flud')
->where('User_id', $user)->first(); // Ищем пользователя в базе
if(empty($search_user)) // Если пользователя нет в базе, то создаём строку с временем его последней ставки
{
\DB::table('stop_flud')->insertGetId(['User_id' => $user, 'last_date' => time()]);
}
else { // Иначе просто подгружаем ему время последней ставки
if((time()-$search_user->last_date) < 2) // Если прошло меньше 2 секунд c момента его последней ставки, то FALSE
{
return 'false';
}
else
{
\DB::table('stop_flud')
->where('User_id', $user)
->update(['last_date' => time()]);
return 'true';
}
}
}
В итоге, функция не работает. Что я делаю не так? два часа уже над ней сижу
Для ограничения используйте встроенный middleware - trottle. Таким образом можно ограничить количество запросов в заданное время к определённому роуту. При этом ограничение работает для каждого отдельного юзера.
Пример из документации
For example, let's specify that an authenticated user may access the following group of routes 60 times per minute:
Route::middleware('auth:api', 'throttle:60,1')->group(function () {
Route::get('/user', function () {
//
});
});
К роуту применяется два middleware, один из которых - количество запросов в минуту. В данном случае не более 60 в минуту.
В вашем случае примерно так (если группа роутов)
Route::middleware('throttle:1,0.03')->group(function () {
Route::post('/action', 'IndexController@action');
});
Или так, если только один
Route::post('/action', 'IndexController@action')->middleware('throttle:1,0.03');
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В одной таблице список пользователей (поля: id, логин, пароль, права), а вторая это таблица с видеоТо есть будет штук 10 видео и у разных пользователей...
WordpressТема Betheme
Решил попробовать гугл тесты в vs2017При запуске тесты выскакивает такие ошибки :