Страницы

Поиск по вопросам

пятница, 12 июля 2019 г.

Таймер на PHP как реализовать?

Я хочу создать функцию, которая будет запрещать флудить, то есть, чтобы можно было писать сообщение раз в 5 секунд, к примеру. Хочу понять сам принцип, а не попросить вас решить мою конкретную проблему.
Например функция отправки сообщения выглядит так:
function sendMessage($User, $Message) { if( validate_spam() < 5000 ) { /* Если в функция возвращает меньше число чем 5 секунд */ return json_encode(["error"=>"Прекратите флудить"]); } else { validate_spam(0) // Это, типа, что-то вроде запуска таймера } }
То как должна выглядеть function validate_spam($param) ?


Ответ

Принцип такой:
Вы должны проверять когда было добавлено последнее сообщение Нужно расчитать разницу в секундах между посленим добавленым сообщением и сейчас. Это можно примерно так делать: time() - $row['last_time_message'] если результат будет например 6 секунд - всё ок, добавляем сообщение в БД с текущей меткой времени, есдт результат например 4 секунды - флуд

Комментариев нет:

Отправить комментарий