Ограничение входа пытается защитить от BFA - PullRequest
1 голос
/ 28 февраля 2011

Я внедрил систему входа в систему, в которой после 3 неудачных попыток (с использованием $_SESSION переменных) на компьютере пользователя создается файл cookie, срок действия которого истекает через 10 минут.Теперь я знаю, что этого, конечно, недостаточно, поскольку они могут просто удалить куки.Теперь, что я хочу знать, когда я реализую таблицу для захвата неправильных входов в систему с помощью комбинаций IP и имени пользователя, когда эта таблица очищается?Когда пользователь успешно войдет в систему после истечения времени блокировки?

Допустим, эта таблица заполнена 1000 записями, как я могу автоматически очистить это?Какова структура таблицы?

Я предлагаю это:
4 поля: ID, IP, имя пользователя (который будет их адресом электронной почты), block_time (время, когда пользователь может войти в систему)снова)?

1 Ответ

1 голос
/ 28 февраля 2011

Вы можете создать запись после первого неудачного входа в систему и удалить ее после успешного входа в систему.
Второй подход - создать «модифицированный» столбец и очистить его с помощью некоторого скрипта php-cron.

INSERT INTO user_logins(user_hash, time) VALUES(?,?)
ON DUPLICATE KEY UPDATE time = now()

конечно, ваш первичный ключ будет user_hash.

...