防止用户非法登录的方法

转载 2006年06月22日 18:06:00
由于用户名及密码都是由a-z,A-Z,0-9这几字符组成,
我参考了一下正则表达式的算法,故有已下想法:
把用户输入的用户名及密码判断一下,看是否是这几个字符组成,
如果是,进行登录验证
否则提示有非法字符
代码如下:
//login.jsp
<%@ page contentType="text/html; charset=GBK" language="java" import="java.io.*" errorPage="error.jsp" %>
<%!
boolean regex(String str){
java.util.regex.Pattern p=null; //正则表达式
java.util.regex.Matcher m=null; //操作的字符串
boolean value=true;
try{
p = java.util.regex.Pattern.compile("[^0-9A-Za-z]");
m = p.matcher(str);
if(m.find()) {
value=false;
}
}catch(Exception e){}
return value;
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>无标题文档</title>
</head>

<body>
<table width="100%" height="100%" border="0">
<tr>
<td align="center" valign="middle">
<% String action=request.getParameter("action");

if (action!=null&&action.equals("login")){
String username=request.getParameter("username");
String password=request.getParameter("password");
if(!regex(username)||!regex(password)){
out.println("<Script language=´javascript´>");
out.println("alert(´1.用户名只能是a-z,A-Z,0-9的字符//n2.密码只能是a-z,A-Z,0-9的字符//n3.不允许空格´)");
out.println("history.go(-1)");
out.println("</script>");
out.print("用户名只能是a-z,A-Z,0-9的字符");
return;//跳出程序
}
out.println(action);//登录验证
out.println("用户名是"+username+"<br>");
out.println("密码"+password);
}
else{
%>
<form name="form1" method="post" action="#">
<table width="70%" border="0">
<tr>
<td>username</td>
<td><input name="username" type="text" id="username">
</td>
</tr>
<tr>
<td>password</td>
<td><input name="password" type="text" id="password"></td>
</tr>
<tr>
<td> </td>
<td><input name="action" type="hidden" id="action" value="login">
用户名及密码只能是a-z,A-Z,0-9的字符</td>
</tr>
<tr>
<td><input type="submit" name="Submit" value=" O K "></td>
<td><input type="reset" name="Submit2" value="Cancle"></td>
</tr>
</table>
</form><% } %></td>
</tr>
</table>
</body>
</html>

相关文章推荐

php:输入值/表单提交参数过滤,防止sql注入或非法攻击的方法

php:输入值/表单提交参数过滤,防止sql注入或非法攻击的方法

2003记录win2003远程桌面的连接登录日志方法(查询是否被非法入侵)

一直都在使用2003的远程桌面功能,在网上找了一下,也可以创建登陆日志: 1、建立一个存放日志和监控程序的目录,比如在C盘下建立一个RDP的目录 2、在其目录下建立一个名为RDPlog.txt...

struts登陆验证(防止未登录的游客非法访问)

让一个项目只能通过登录后进行操作,不允许输入URL直接访问,分两步: 1.把除了登录页面外的页面放到 WEB-INF 目录下(struts WEB-INF 目录下的文件受保护) 2.写拦截器防止通过方...

【Android工具类】用户输入非法内容时的震动与动画提示——EditTextShakeHelper工具类介绍

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992    当用户在EditText中输入为空或者是数据异常的时候,我们可以使用Toast来提醒用户,除此之外,我...

ios--安全攻防02--后台daemon非法窃取用户iTunesstore信息

后台daemon非法窃取用户iTunesstore信息 本人郑重声明:并不鼓励窃取用户隐私等行为,一切hack学习都只是为了研究如何防御。OK,进入正题。 开机自启动 在i...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)