Как я могу реализовать неправильные попытки пароля 3 раза после того, как изображение capcha. Я использую сервлет / JSP.
Я собираюсь внедрить некоторые проверки безопасности в моем проекте.
Как я могу реализовать это - "неправильный пароль пытается максимум 3 раза после того, как появится это изображение капчи".
я использую Servlet/JSP
,
3 ответа
По техническим требованиям
Для определения источника IP-адрес, к сожалению, не подходит. Следовательно, вам нужно использовать сеанс и даже подтвердить, что сеанс поддерживается на стороне клиента. То есть робот может просто не проводить сеанс, а затем никогда не достигнет капчи.
Так последовательно:
- страница входа, установить сессию, (
session.setAttribute("enterkey", Random.nextInt())
) перенаправить к себе - страница входа, проверка сеанса, установка счетчика на 3, запрос пользователя и пароля, новое случайное число
- проверить пользователя и пароль, пока счетчик не достигнет 0, короткое ожидание
При добавлении случайного числа один предотвращает запуск почти параллельных сообщений.
Я не могу дать вам полную реализацию здесь, поскольку это большая процедура. Тем не менее, ваша реализация будет идти так...
- создать страницу входа в систему JSP.
- перенаправить запрос на вход в сервлет (скажем, LoginServlet)
- при сбое входа в систему LoginServlet будет поддерживать счетчик в сеансе.
- когда счетчик достигает 3, он перенаправляет на страницу с изображением капчи.
Пожалуйста, помните, что реализация должна быть связана с именем пользователя. счетчик должен увеличиваться для каждого пользователя...
Вы можете использовать счетчик сеансов в своем сервлете входа, после трех неудач вы можете сохранить атрибут в сеансе. Атрибут читается в вашем JSP, который как раз в этом случае показывает изображение капчи.