如何阻止用户在servlet jsp程序中输入错误的密码
then 3 times can any one please explain with an example?i have tried with client side programming using cookies in html 5.{<script>
if(typeof(Storage)!=="undefined")
{
var attempt= localStorage. attempt+1;
document.getElementById("attempt").innerHTML="attempt" + localStorage.attempt;
}
</script>}发布于 2013-12-12 22:30:21
在客户端做这件事不是一个好的方法,因为你在那里没有控制权。您应该在服务器端(servlet / jsp)执行此操作。
您可以开始使用以下概念:
session.getId()。session.setAttribute()方法对登录尝试进行计数。结合以上概念,您可以创建自己的流程和业务逻辑
发布于 2013-12-12 22:57:30
如果使用的是按如下方式定义的表单身份验证
<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。
发布于 2013-12-13 01:34:03
HTML5 localstorage将依赖于客户端,并且不能在所有版本的浏览器上运行。实际上,您应该在服务器上对此逻辑进行编码。使用request.getSession()获取会话,每次尝试时只需将retryAttempt变量加1并在会话中设置它即可。您需要在过滤器或servlet中对其进行检查。
https://stackoverflow.com/questions/20546069
复制相似问题