找回密码
 注册
搜索
热搜: 回贴

防止用户非法登录又一法

2009-12-21 21:51| 发布者: admin| 查看: 60| 评论: 0|原作者: 情殇

由于用户名及密码都是由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;
}
%>



无标题文档







<% 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("");
out.print("用户名只能是a-z,A-Z,0-9的字符");
return;//跳出程序
}
out.println(action);//登录验证
out.println("用户名是"+username+"
");
out.println("密码"+password);
}
else{
%>


















username
password

用户名及密码只能是a-z,A-Z,0-9的字符

<% } %>



最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 19:27 , Processed in 0.256375 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部