防止用户非法登录的方法

转载 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>

用户登录具体实现与安全防范

1.现有技术的缺陷 在用户登录模块,本文将以中国知网(www.cnki.net)为例进行对比分析。登录功能是大多数系统都有的模块,完成功能并不难,但是如何做到安全,这是一个比较难得问题。下图5-...
  • torrytang
  • torrytang
  • 2014年11月01日 15:40
  • 1603

Yii2 防止用户重复登录

1.新建存放用户登录口令token的表,并生成model CREATE TABLE IF NOT EXISTS `tbl_admin_session` ( `session_id` int(11)...
  • navioo
  • navioo
  • 2016年07月21日 10:06
  • 1876

servlet+jsp实现过滤器,防止用户未登录访问

我们可能经常会用到这一功能,比如有时,我们不希望用户没有进行登录访问后台的操作页面,而且这样的非法访问会让系统极为的不安全,所以我们常常需要进行登录才授权访问其它页面,否则只会出现登录页面,当然我的思...
  • lsx991947534
  • lsx991947534
  • 2015年05月05日 10:20
  • 6429

laravel利用中间件做防非法登录和权限控制

laravel框架的中间件非常好用,使得我们的防非法和rbac可以简单快速的实现 中间件就是控制路由的访问,进行分类并统一管理 1、首先我们打开artisan输入下面的命令行,创建一个中间件文件 p...
  • xia13100004562
  • xia13100004562
  • 2017年01月04日 09:10
  • 2348

防止用户重复登录

项目笔记:最近做了个防止用户重复登录的需求:部分站点的用户登录系统后,如果没有退出,将不允许再次登录。 项目简介:spring security ,redis(分布式) 。项目实现的很多底层的jar包...
  • xihuanxiaoxin
  • xihuanxiaoxin
  • 2017年04月07日 17:11
  • 1531

防止未登录用户操作—struts2拦截器简单实现

一般,我们的web应用都是只有在用户登录之后才允许操作的,也就是说我们不允许非登录认证的用户直接访问某些页面或功能菜单项。我还记得很久以前我的做法:在某个jsp页面中查看session中是否有值(当然...
  • congcongsuiyue
  • congcongsuiyue
  • 2014年12月22日 21:14
  • 927

SSH—Struts2拦截器的应用(防止未登录用户进行操作)

前言     类似于京东、淘宝这些平台,如果单纯的去浏览页面上的一些商品显示,一点问题都没有,但是当你点击商品的订单详情或者想查看一下自己的购物车,那么就会出现通过登录进去的界面,这个就是今天要说的这...
  • zlt995768025
  • zlt995768025
  • 2016年09月30日 11:32
  • 1932

防止非法链接(referer)

HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器藉此可以获得一些信息用于处理。比如从我主页上链...
  • QQ1012421396
  • QQ1012421396
  • 2017年03月16日 17:52
  • 757

php 处理 非法访问

前言 Session 方式 indexphp模拟身份验证 目标资源页sessionphp 效果演示 URL判断法 源文件 演示效果 总结前言在浏览器输入一个网址链接,来定位一个资源是互联网工作的基础,...
  • Marksinoberg
  • Marksinoberg
  • 2017年01月29日 21:50
  • 6067

使用session监听禁止用户重复登录

在web应用中,常常需要禁止用户重复登录。这里,介绍的方法是通过配置session监听+shiro权限控制框架实现。具体的方法是: 用户登录成功后,将用户信息放入HashMap中,如果存在重复,强制...
  • football98
  • football98
  • 2016年10月10日 14:50
  • 1990
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:防止用户非法登录的方法
举报原因:
原因补充:

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