Запоминание количества попыток входа в PHP - PullRequest
1 голос
/ 15 мая 2011

Как лучше всего отслеживать, сколько раз пользователь пытался войти в систему?Т.е. данные сеанса, база данных, временный файл или другое?

Ответы [ 3 ]

5 голосов
/ 15 мая 2011

База данных будет лучше. Сессия не будет работать, так как сессия специфична для браузера; если злоумышленник очищает свои куки-файлы между каждой попыткой, ваша система никогда не будет учитывать более одной ошибки. Временный файл может сработать, если вы действительно не хотите использовать базу данных, но именно для этого нужны базы данных.

1 голос
/ 15 мая 2011

Я бы посоветовал следующее:

  1. Для немедленного отслеживания я бы выбрал использование переменной сеанса.Это справедливый компромисс по сравнению с использованием файлов и баз данных.Но это хорошо только для краткосрочного отслеживания.То есть до тех пор, пока пользователь не покинет браузер или пока не истечет время сеанса.

  2. Для постоянного ведения записей попыток ведения журнала всегда лучше всего использовать подход с использованием базы данных.У меня обычно есть отдельная таблица, которая отслеживает такие вещи, как IP, UserID, Date и Time, и добавляю CAPTCHA, чтобы усилить все это.и проще в реализации, чем использование внешнего файла.Это связано с тем, что вам нужно хранить файл в безопасном месте и устанавливать разрешения, чтобы боты и другие программы не могли их читать.Это дополнительная работа.

0 голосов
/ 15 мая 2011

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

...