Как ограничить количество отправляемых заявок с формы на сайте?

V
На сайте с 04.06.2014
Offline
54
749

На сайте есть форма, отправляющая заявки на почту. Как можно ограничить количество заявок, отправляемых в единицу времени? Например - 1 отправка в 5 минут.

Партнёрка №1 в essay-нише (https://goo.gl/YfTPtG)
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#1

Записывать куда-нибудь время отправки и сравнивать. Вам для конкретного юзера или для всех?

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
S
На сайте с 13.10.2014
Offline
171
#2

для 1 человека или для всех посетителей.

если для человека, просто сохраняйте куку со временем жизни, допустим 1 год. и пишите в ней время последнего отправления однако это не будет работать, если у человека или робота отключены пирожки. Посему надо сначала проверять их наличие, и если они не сохраняются, уматерять

если человек зарегин, то лучше держать эту дату в базе, выгружая ее например в переменные сессии.

V
На сайте с 04.06.2014
Offline
54
#3
LEOnidUKG:
Записывать куда-нибудь время отправки и сравнивать. Вам для конкретного юзера или для всех?

Нужно для конкретного человека.

---------- Добавлено 07.09.2015 в 20:05 ----------

silicoid:
для 1 человека или для всех посетителей.

если для человека, просто сохраняйте куку со временем жизни, допустим 1 год. и пишите в ней время последнего отправления однако это не будет работать, если у человека или робота отключены пирожки. Посему надо сначала проверять их наличие, и если они не сохраняются, уматерять

если человек зарегин, то лучше держать эту дату в базе, выгружая ее например в переменные сессии.

Базы нет, сайт из 4 страничек на html.

H
На сайте с 14.03.2008
Offline
59
#4

Пишите в текстовый файл.

Например для каждого хоста ip.txt (в формате ip2long) и в нем время timestamp.

Если файл существует, открываем его и проверяем время - если нужное еще не прошло запрещаете отправку.

Просто и лаконично.

S
На сайте с 13.10.2014
Offline
171
#5
victorpavloff:
Нужно для конкретного человека.

тогда только куки. других вариантов нет.

можно еще флэшкуками (Local Shared Objects) воспользоваться - это более надежно, но флэш уже далеко не у всех установлен, а эппл вообще флэш не включает в свои браузеры

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий