快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

防止用户非法登录又一法

由于用户名及密码都是由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=&acute;javascript&acute;>");
out.println("alert(&acute;1.用户名只能是a-z,A-Z,0-9的字符\\n2.密码只能是a-z,A-Z,0-9的字符\\n3.不答应空格&acute;)");
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>
返回类别: 教程
上一教程: JSP数据库操作例程
下一教程: JAVA常见问题集锦

您可以阅读与"防止用户非法登录又一法"相关的教程:
· JSP如何保存用户上次登录时间
· 在JSP中用BEAN和SERVLET联合实现用户注册、登录
· JAVABEAN用户化
· Allair JRUN 非法读取 WEB-INF 漏洞 
· JAVA实现服务器和多用户跨平台的通讯
    微笑服务 优质保证 索取样品