У меня есть сайт PHP / CodeIgniter с базовым социальным функционалом, который, очевидно, включает ссылку «Добавить друга». При нажатии на эту ссылку в фоновом режиме выполняется вызов AJAX, который добавляет пользователя, связанного со ссылкой, в качестве друга вошедшего в систему пользователя. Также ссылка преобразуется в «Удалить друга», что делает то же, что и на банке, точно так же, как «Добавить друга».
При нажатии «Добавить друга» пользователь, добавленный в друзья, получает по электронной почте уведомление о том, что он или она были добавлены в друзья. Вот тут и возникает мой вопрос: я хочу избежать спама пользователю с помощью этих уведомлений, если вошедший в систему пользователь продолжает нажимать добавить / удалить / добавить / удалить / и т.д.
Моя идея состоит в том, чтобы настроить вид таблицы истории добавлений, в которой записаны 2 идентификатора пользователя и временная метка. И я отправлю электронное письмо только в том случае, если (текущее время - временная метка) больше установленного значения. И каждый раз, когда пользователь повторно добавлял друга, я обновлял метку времени до текущего времени, чтобы он «продлевал» жизнеспособность элемента управления спамом. С помощью этого метода я также могу контролировать, если пользователь хочет добавить слишком много друзей в данный интервал.
Эта таблица будет время от времени очищаться для записей, отметка времени которых находится в прошлом от заданного значения.
Это моя идея, если у вас есть другие или использовали другие методы, пожалуйста, поделитесь.
Спасибо за чтение.