首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何阻止用户在servlet jsp程序中输入错误密码3次以上

如何阻止用户在servlet jsp程序中输入错误密码3次以上
EN

Stack Overflow用户
提问于 2013-12-12 22:23:29
回答 3查看 1.6K关注 0票数 1

如何阻止用户在servlet jsp程序中输入错误的密码

代码语言:javascript
复制
then 3 times can any one please explain with an example?
代码语言:javascript
复制
i have tried with client side programming using cookies in html 5.
代码语言:javascript
复制
{<script>
   if(typeof(Storage)!=="undefined")
   {
     var attempt= localStorage. attempt+1;

     document.getElementById("attempt").innerHTML="attempt" + localStorage.attempt;
   }
</script>}
EN

回答 3

Stack Overflow用户

发布于 2013-12-12 22:30:21

在客户端做这件事不是一个好的方法,因为你在那里没有控制权。您应该在服务器端(servlet / jsp)执行此操作。

您可以开始使用以下概念:

  • 由您的服务器创建的会话具有唯一的id session.getId()
  • 您的服务器负责对应用程序进行适当的会话管理。
  • 您可以通过在会话变量上存储一个值来统计该会话尝试登录过程的次数,以按session.setAttribute()方法对登录尝试进行计数。

结合以上概念,您可以创建自己的流程和业务逻辑

票数 0
EN

Stack Overflow用户

发布于 2013-12-12 22:57:30

如果使用的是按如下方式定义的表单身份验证

代码语言:javascript
复制
<login-config>
     <auth-method>FORM</auth-method>
     <form-login-config>
             <form-login-page>/login.html</form-login-page>
             <form-error-page>/errors/retry.jsp</form-error-page>
     </form-login-config>
</login-config>

然后,您可以在retry.jsp页面中跟踪尝试的次数。也就是说,每次用户输入错误的登录详细信息时,容器都会将该用户重定向到retry.jsp页面。在这个页面上,存储在会话中的计数器递增1,直到它达到3次的限制,当用户被重定向到另一个页面时,说明不允许更多的reties。

票数 0
EN

Stack Overflow用户

发布于 2013-12-13 01:34:03

HTML5 localstorage将依赖于客户端,并且不能在所有版本的浏览器上运行。实际上,您应该在服务器上对此逻辑进行编码。使用request.getSession()获取会话,每次尝试时只需将retryAttempt变量加1并在会话中设置它即可。您需要在过滤器或servlet中对其进行检查。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20546069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档