Javascript-форум (https://javascript.ru/forum/)
-   Работа (https://javascript.ru/forum/job/)
-   -   Запретить повторную отправку заявки (https://javascript.ru/forum/job/76705-zapretit-povtornuyu-otpravku-zayavki.html)

petrpetrov191 05.02.2019 11:49

Запретить повторную отправку заявки
 
Здравствуйте. На одностраничном сайте есть несколько форм для заполнения. Нужно сделать, чтобы один посетитель мог оставить только 1 заявку, даже если он перезагрузил страницу. Сайт предоставлю. Сделать нужно без применения БД. Через сессии или куки, не разбираюсь в этом. Сколько это будет стоить?

laimas 05.02.2019 13:54

Цитата:

Сообщение от petrpetrov191
сессии или куки

Cессия живет не более нескольких десятков минут, а куки клиент может удалять. Может помочь локальное хранилище, если оно поддерживается браузером, но это тоже не гарантия - можно отправить с другого браузера или устройства.

Nexus 05.02.2019 14:01

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

Думаю сессии достаточно будет, печеньку можно записать на 10 лет и пользователь не сможет больше с этого браузера ближайшие 10 лет повторно отправить сообщение, что не всегда правильно.

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

petrpetrov191 05.02.2019 14:46

Цитата:

Сообщение от Nexus (Сообщение 503166)
laimas, это скорее всего не борьба со спамом, а просто запрет отправлять одному и тому же пользователю 10 раз одни и те же данные в единицу времени.

Думаю сессии достаточно будет, печеньку можно записать на 10 лет и пользователь не сможет больше с этого браузера ближайшие 10 лет повторно отправить сообщение, что не всегда правильно.

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

правильно, человек может сначало заказать звонок, а потом сразу заполнить форму например с записаться на консультацию. нужно просто, чтобы он не мог оставить ещё заявки, достаточно и одного обращения

laimas 05.02.2019 14:53

Цитата:

Сообщение от Nexus
Думаю сессии достаточно будет, печеньку можно записать на 10 лет и пользователь не сможет больше с этого браузера ближайшие 10 лет повторно отправить сообщение, что не всегда правильно.

Ага, ну прямо таки непреодолимый барьер для спамера. :D Ну что за глупости, это как раз будет работать только для "честных", а для спамера это как полная фигня - запретили куки и все, не будет ни сессии, ни кук, а о 10 годах, это вообще фантастика. :)

Вопрос тогда должен ставиться так - для добросовестных не более одного сообщения за период Т. А вот спам это никак не отсчет.

petrpetrov191 05.02.2019 15:00

Цитата:

Сообщение от laimas (Сообщение 503170)
Ага, ну прямо таки непреодолимый барьер для спамера. :D Ну что за глупости, это как раз будет работать только для "честных", а для спамера это как полная фигня - запретили куки и все, не будет ни сессии, ни кук, а о 10 годах, это вообще фантастика. :)

Вопрос тогда должен ставиться так - для добросовестных не более одного сообщения за период Т. А вот спам это никак не отсчет.

это не защита от спама

Nexus 05.02.2019 15:05

laimas,
Цитата:

Сообщение от laimas
Ага, ну прямо таки непреодолимый барьер для спамера. Ну что за глупости, это как раз будет работать только для "честных", а для спамера это как полная фигня - запретили куки и все, не будет ни сессии, ни кук, а о 10 годах, это вообще фантастика.

Ну так я и подразумевал обычных пользователей, не спамеров)
Думал это очевидно после первого абзаца.

laimas 05.02.2019 15:05

Ну тогда можно и сессию использовать - проверяем, есть установленное в нее значение, значит не принимаем более (можно и форму клиенту уже не выводить). Но лучше на клиенте проверять куку и если она есть не отправлять форму, показывая сообщение, что она уже отправлялась. И если не от спама, то и кука может быть и сессионной.

laimas 05.02.2019 15:13

Цитата:

Сообщение от Nexus
Ну так я и подразумевал обычных пользователей, не спамеров)

И при этом куку на 10 лет. :D


Часовой пояс GMT +3, время: 13:04.