51,407
社区成员
发帖
与我相关
我的任务
分享
<!DOCTYPE html>
<%@ page import="com.netsoft.shdx.common.ParameterTool" %>
<%@ page contentType="text/html;charset=GB2312" language="java" %>
<%
String error = ParameterTool.getParameter(request, "error");
%>
<html>
<head>
<title>IT综合运维平台</title>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="./bootstrap/css/bootstrap.min.old.css" rel="stylesheet" media="screen">
<link rel="stylesheet" href="./css/main.css" type="text/css">
<link rel="stylesheet" href="./layer/theme/default/layer.css" type="text/css">
<script type="text/javascript" src="./js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="./bootstrap/js/bootstrap.min.js"></script>
<!--[if lt IE 8]>
<script src=".bootstrap/js/html5.min.js"></script>
<script src=".bootstrap/js/respond.min.js"></script>
<![endif]-->
<script src="./js/jquery.placeholder.js"></script>
<script src="./layer/layer.js"></script>
<script src="js/excanvas.js"></script>
<style type="text/css">
<!--
.style2 {
color: #0000FF;
font-weight: bold;
}
-->
</style>
<script language="javascript">
function run() {
if (chkusr.LoginName.value == "") {
layer.tips('请输入用户名', '#LoginName', {
tips: [2, '#000'], //还可配置颜色, //设置tips方向和颜色 类型:Number/Array,默认:2 tips层的私有参数。支持上右下左四个方向,通过1-4进行方向设定。如tips: 3则表示在元素的下面出现。有时你还可能会定义一些颜色,可以设定tips: [1, '#c00']
tipsMore: false, //是否允许多个tips
time:2000 //2秒后销毁
});
return false;
}
if (chkusr.Password.value == "") {
layer.tips('请输入密码', '#Password', {
tips: [2, '#000'], //还可配置颜色, //设置tips方向和颜色 类型:Number/Array,默认:2 tips层的私有参数。支持上右下左四个方向,通过1-4进行方向设定。如tips: 3则表示在元素的下面出现。有时你还可能会定义一些颜色,可以设定tips: [1, '#c00']
tipsMore: false, //是否允许多个tips
time:2000 //2秒后销毁
});
return false;
}
if ($("#code_input").val() == ""){
layer.tips('请输入验证码', '#code_input', {
tips: [2, '#000'], //还可配置颜色, //设置tips方向和颜色 类型:Number/Array,默认:2 tips层的私有参数。支持上右下左四个方向,通过1-4进行方向设定。如tips: 3则表示在元素的下面出现。有时你还可能会定义一些颜色,可以设定tips: [1, '#c00']
tipsMore: false, //是否允许多个tips
time:2000 //2秒后销毁
});
return false;
}
if( $("#code_input").val().length<4 || !verifyCode.validate(document.getElementById("code_input").value)){
layer.tips('验证码不正确,请重新输入!', '#code_input', {
tips: [2, '#000'], //还可配置颜色, //设置tips方向和颜色 类型:Number/Array,默认:2 tips层的私有参数。支持上右下左四个方向,通过1-4进行方向设定。如tips: 3则表示在元素的下面出现。有时你还可能会定义一些颜色,可以设定tips: [1, '#c00']
tipsMore: false, //是否允许多个tips
time:2000 //2秒后销毁
});
$("#code_input").val("");
$("#verifyCanvas").click();
return false;
}
return true;
}
function getFocus() {
<%if(!error.equals("")){%>
alert("<%=error%>");
<%}%>
document.chkusr.LoginName.focus();
}
</script>
<script type="text/javascript">
$(function () {
// Invoke the plugin
$('input, textarea').placeholder();
});
</script>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="80" style="margin-top:80px" onload="getFocus()">
<center>
<table width="778" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="163" background="./images/left1.jpg"></td>
<td width="615"><img src="./images/left2.gif" width="680" height="148"></td>
</tr>
</table>
<table width="778" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2"><img src="./images/2.jpg" width="778" height="69"></td>
</tr>
</table>
<table width="778" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="467" background="./images/4.jpg">
<table width="335" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td width="8" height="17"><img src="./images/co1.gif" width="8" height="17"></td>
<td width="283" bgcolor="656565" height="17">
<div align="center"><font color="#FFFFFF" class="9p">用 户 登 录 </font></div>
</td>
<td width="8" height="17">
<div align="right"><img src="./images/co2.gif" width="8" height="17"></div>
</td>
</tr>
<tr>
<td width="8" bgcolor="#EFEFEF"></td>
<td width="99%">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="120">
<tr bgcolor="#EFEFEF">
<td valign="top">
<form name="chkusr" method="post" action="./doLogin.jsp" onSubmit="return run()">
<table width="100%" border="0" cellspacing="8" style="margin-top:10px;" cellpadding="0">
<tr>
<td width="27%"></td>
<td width="73%" colspan="2"></td>
</tr>
<tr>
<td width="27%">
<div align="center">用户名:</div>
</td>
<td width="73%" valign="top" colspan="2">
<input name="LoginName" id="LoginName" type="text" class="button" title="用户名"
size="25" maxlength="20" MUST="1">
</td>
</tr>
<tr>
<td width="27%">
<div align="center">密 码:</div>
</td>
<td width="73%" valign="top" colspan="2">
<input name="Password" id="Password" type="password" class="button" title="密码"
size="27" maxlength="20" MUST="1">
</td>
</tr>
<tr>
<td width="27%">
<div align="center">验证码:</div>
</td>
<td width="73%" valign="top" colspan="2">
<input type="text" id="code_input" name="code_input" class=" " title="验证码"
placeholder="请输入验证码" size="25" maxlength="4" MUST="1"/>
</td>
</tr>
<tr>
<td width="27%"></td>
<td width="72%" valign="top" colspan="2">
<div id="v_container" style="float:left;height:30px;width:80px;cursor:pointer;border:0px solid rgb(255,255,255);"></div>
<div><input type="button" id="my_button" value="验证" class="btn-info" style="display:none;float:left;margin-left:46px;margin-bottom:5px;border:0px solid rgb(255,255,255);height:34px;width:85px;cursor:pointer;"></input></div>
<input type="submit" name="Submit" value="登录" style="margin:3px 0px 0px 10px;" class="btn-success btn-xs">
<input type="reset" name="Submit2" value="重写" style="margin:3px 0px 0px 10px;" class="btn-info btn-xs">
</td>
</tr>
<tr style="display:none">
<td width="27%"></td>
<td style="border:0px solid red">
<input type="submit" name="Submit" value="登录" class="btn-info">
</td>
<td style="border:0px solid red">
<input type="reset" name="Submit2" value="重写" style="align:center" class="btn-info">
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</td>
<td width="8" bgcolor="#EFEFEF"></td>
</tr>
<tr>
<td width="8" valign="top"><img src="./images/co3.gif" width="8" height="18"></td>
<td width="283" bgcolor="#EFEFEF" valign="top"></td>
<td width="8" valign="top">
<div align="right"><img src="./images/co4.gif" width="8" height="18"></div>
</td>
</tr>
</table>
</td>
<td width="311" valign="top" height="222" background="./images/3.gif" ">
<div align="center">
<table width="98%" border="0" cellspacing="2" cellpadding="0" align="center">
<tr>
<td></td>
</tr>
<tr>
<td>
<div align="center">== <span class="style2">用户操作说明</span> ==</div>
</td>
</tr>
</table>
<table width="80%" border="1" cellspacing="0" cellpadding="0" align="center" height="166"
bgcolor="#EAEAEA" bordercolordark="#EAEAEA" bordercolorlight="#333333">
<tr>
<td valign="top">
<p><br>中国电信上海公司安全管理部警示:您将登录中国电信上海公司内部信息系统,系统内所有数据及用户信息均属企业商业秘密,一旦登录,您即负有保密义务。您在系统中的一切操作,均有日志记录,严禁从事与本职工作无关的违规操作。如有违反,公司将依据现行规章制度予以查处。涉嫌违法犯罪的,将移送有关国家机关依法处理。</p>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<table width="778" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="./images/5.gif" width="778" height="19"></td>
</tr>
</table>
<center>
<script src="./js/gVerify.js"></script>
<script type="text/javascript">
/**版本号**/
var verifyCode = new GVerify("v_container");
document.getElementById("my_button").onclick = function(){
var res = verifyCode.validate(document.getElementById("code_input").value);
if(res){
layer.tips('验证正确', '#code_input', {
tips: [2, '#000'], //还可配置颜色, //设置tips方向和颜色 类型:Number/Array,默认:2 tips层的私有参数。支持上右下左四个方向,通过1-4进行方向设定。如tips: 3则表示在元素的下面出现。有时你还可能会定义一些颜色,可以设定tips: [1, '#c00']
tipsMore: false, //是否允许多个tips
time:2000 //2秒后销毁
});
}else{
layer.tips('验证码错误', '#code_input', {
tips: [2, '#000'], //还可配置颜色, //设置tips方向和颜色 类型:Number/Array,默认:2 tips层的私有参数。支持上右下左四个方向,通过1-4进行方向设定。如tips: 3则表示在元素的下面出现。有时你还可能会定义一些颜色,可以设定tips: [1, '#c00']
tipsMore: false, //是否允许多个tips
time:2000 //2秒后销毁
});
}
}
setTimeout(function() {
// IE
if(document.all) {
document.getElementById("verifyCanvas").click();
}
// 其它浏览器
else {
var e = document.createEvent("MouseEvents");
e.initEvent("click", true, true);
document.getElementById("verifyCanvas").dispatchEvent(e);
}
}, 200);
</script>
</body>
</html>
以上这段jsp登录代码中,如何增加 密码输错3次,隔10分钟后才能登录,我是小白,望高手指点
如果没使用过redis或者其他辅助工具,给你推荐一个“笨办法”,用户每次登录失败,就在数据库记录一下他的失败次数,达到三次以上,就提示锁定。若失败两次,第三次登录成功,就要清零错误次数。这是一个大概的思路。