Добавить ограничение по времени блокировки формы

используя PHP или Javascript, как я могу создать тайм-аут, чтобы предотвратить быструю отправку логинов?

Я проверяю форму входа в систему с помощью PHP, подключаюсь к БД, а затем возвращаю true или false, является ли вход действительным и т. д. При неверном входе в систему я подумываю установить файл cookie для тайм-аута входа в систему, который увеличивается на N после количества неудачных попыток входа в систему.

Будет ли печенье лучшим способом? Что делать, если пользователь не включает файлы cookie, как это делаю я? Сеансы сбрасываются в начале страницы входа, поэтому я не могу установить доверенное значение $ _SESSION, плюс пользователь может просто покинуть сайт и вернуться.

Файл cookie - лучший способ?

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

BlackNetworkBit 05.09.2018 18:20

@BlackNetworkBit Большинство брутфорс-ботов не поддерживают файлы cookie, поэтому сеанс не поможет. Я бы увеличивал значение в db при неудачных попытках, и когда> 10 ограничивает время ответа, поэтому брутфорс просто неэкономичен, они скоро заметят отказ, если для попытки 60 паролей потребуется 60 секунд. Законный пользователь не заметит задержки в 1 секунду.

Lawrence Cherone 05.09.2018 18:49

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

BlackNetworkBit 05.09.2018 18:50

Как бы Вы это сделали? Поскольку session_start () будет просто каждый раз создавать новый сеанс, поэтому у бота всегда будет сеанс.

Lawrence Cherone 05.09.2018 18:53

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

Forbs 05.09.2018 19:09

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

BlackNetworkBit 06.09.2018 00:37
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
6
36
0

Другие вопросы по теме