Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Ограничение отправки формы по времяни


Автор: Alix36 3.3.2008, 12:22
Как можно ограничить по времени отправку форм пользователем, например не чаще 1 раза в 10 сек.
У меня получилось так, 
1.при первой отправке ставим кукис в котором записано время отправки..
2.Вторая отправка, проверяем [Кукис]+[10секунд]<[Текущего времени]
ДА отправляем.
НЕТ Alert('между отправкой сообщений должно пройти 10 секунд');

Но этот способ мне не нравится, ибо кукисы могут быть отключены, или их могут стирать.

Можно ли по другому?

Автор: Itsys 3.3.2008, 12:34
Передавай время предыдущей загрузки в какой-нибудь скрытый контейнер, типа div, да в принципе в любой - всеравно,

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

Автор: Sardar 3.3.2008, 15:05
Цитата(Alix36 @  3.3.2008,  11:22 Найти цитируемый пост)
Но этот способ мне не нравится, ибо кукисы могут быть отключены, или их могут стирать.

Любая проверка на клиенте - лишь подсказка нормальному пользователю, что бы не терял время на перезагрузки страницы. Защита сервера от DDoS'а и ошибочного ввода - дело самого сервера. Если этого не понять, то можно (с вероятностью 99.999%) стать ещё одной зомби-машиной, рассылающей спам (отсюда пожизненное блокирование на публичных мыльных серверах).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)