Здравствуйте!
Выполняю запрос каждые 10000 мс:
setInterval(load, 10000);
Он подгружает определенную информацию в див, информация берется из серверной БД.
Вероятно любой желающий может изменить частоту этого запроса на 100 мс, сделав это на нескольких клиентах это будет равносильно ДДосу.
Подскажите, можно как-то защититься от этого?
Вот собственно запрос к БД :
return DB::select('messages.user_id', 'message', 'messages.date', 'username', 'small_avatar')
->from('messages')
->join('users', 'LEFT')
->on('messages.user_id', '=', 'users.id')
->join('users_details', 'LEFT')
->on('messages.user_id', '=', 'users_details.user_id')
->order_by('messages.id')
->where('date', '>', Date::nowToDB("now - 3 minutes"))
->execute()
->as_array();
- Берет посты, авторов этих постов и информацию о них (из users_details), выводятся посты которые старше 3 минут... сам запрос не очень то и простой хотя бы потому что данные берутся аж из трех таблиц...
Кэширование и так включено...