Защита от многочисленных кликов!?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
DenisKhomusyak
Сообщения: 102
Зарегистрирован: 2015.10.18, 22:45
Откуда: Sant Tropetz
Контактная информация:

Защита от многочисленных кликов!?

Сообщение DenisKhomusyak »

Всем привет.
Подскажите пожалуйста как защититься от этого?Конкретнее, когда ты нажимаешь на форме на кнопку к примеру Create раз 10 за 2 секунды, то создается много записей. Надеюсь поняли о чем я
Изображение
lgXenos
Сообщения: 243
Зарегистрирован: 2015.11.30, 15:42

Re: Защита от многочисленных кликов!?

Сообщение lgXenos »

Смотря от кого защищаться надо.
:)
В Yii есть встроенный механизм
https://yandex.ru/search/?text=yii2%20C ... id=1955454

А без него есть куча вариаций. Начиная от Javascript-отключения сабмита после нажатия, до ввода скрытого поля. Коим вышеуказанная штучка и является
shkarbatov
Сообщения: 423
Зарегистрирован: 2012.12.10, 14:19
Откуда: Россия

Re: Защита от многочисленных кликов!?

Сообщение shkarbatov »

lgXenos писал(а):В Yii есть встроенный механизм
https://yandex.ru/search/?text=yii2%20C ... id=1955454
CSRF существует не для этого.
Все очень зависит от того, что именно Вам надо.
Если форма не должна сабмититься более одного раза - делайте кнопку не активной, если должна - очищайте форму.
lgXenos
Сообщения: 243
Зарегистрирован: 2015.11.30, 15:42

Re: Защита от многочисленных кликов!?

Сообщение lgXenos »

shkarbatov писал(а):CSRF существует не для этого.
Ну из описания - очень похоже: когда надо передать какую-то контрольную сумму
Автор же мог подразумевать и что у него в гостевой книге появляется 1000 записей :lol: А их мог бот нагенерить

В целом - может быть. Я еще не изучал детально.
yan
Сообщения: 942
Зарегистрирован: 2011.03.23, 09:28
Откуда: Уфа

Re: Защита от многочисленных кликов!?

Сообщение yan »

Если подразумевается защита на клиенте - используем http://underscorejs.org/#throttle или http://underscorejs.org/#debounce, самый суровый вариант http://underscorejs.org/#once :)
Ответить