防止用户非法登录又一法

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

时间: 2024-09-17 01:57:01

防止用户非法登录又一法的相关文章

php中使用session防止用户非法登录后台的方法_php技巧

本文实例讲述了php中使用session防止用户非法登录后台的方法.分享给大家供大家参考.具体如下: 一般来说,我们登录网站后台时,服务器会把登录信息保存到session文件里,并通过读取session文件来判断是否可以进行后台操作. 以下面为例,假如admin.php是我们的后台操作页面,如果没有启用 session,那么,即便是没有登录,用户照样能访问到该页面,这时候,就需要用到 session 来防止用户非法登录到这个页面了.下面是三个文件的代码 登录页面:login.php 复制代码 代

Linux中如何禁止非法用户试探登录

linux的服务主机暴露在互联网上,经常会遭到一些非法用户的骚扰.如弱口令扫描,试探性登录: 这些都对linux主机构成威胁.下面脚本,就将非法用户拒之门外. 原理:获取尝试登录linux主机用户的IP,切登录失败次数超过10以上, 就认为此类IP为非法用户登录,然后将其IP追加到iptables规则中进行过滤,使其不能与linux主机通讯,系统每隔10分钟执行一次. #/bin/bash rm -f /data/ip.txt 2>/dev/null /sbin/iptables -F cat

linux系统中root用户不能登录怎么办?

问题描述 linux系统中root用户不能登录怎么办? 自从我更改了Linux系统的IP地址,root用户就不能登录了,root用户登录提示"鉴定故障".普通用户可以登录,能用su命令登录root用户,但是不能直接登录. 解决方案 如果没有给ROOT设置密码,就用普通用户登录,没有普通用户这是不可能的登录进入终端,直接输入 sudo passwd root输入普通用户密码输入你要设置的root密码重复root密码这样用root就行了 解决方案二: 终端输入:sudo gedit /us

帮助用户解决登录困难:忘记密码和找回密码的设计

文章描述:注册那点事之--忘记密码?还是找回密码? 上次我们聊到了关于用户来到你的网站,如何让用户心甘情愿注册,以及如何在注册中为用户设置与产品定位相符的注册填写项.今天我们来聊一个看似平淡无奇而事实上和每个用户账号息息相关的问题:用户无法登录自己的账号时该怎么办? 用户无法登录自己的账号,看到产品界面上硕大的红色"用户名或密码错误"之类的提示自然是心急如焚.好在当前涉及用户账号的产品都有完备的账号安全机制,无论用户的用户名忘了,还是不记得密码了,都提供了完善的应急机制.虽然看起来各个

解决方案:用户“sa”登录失败

解决 解决方案:用户 'sa' 登录失败.原因: 未与信任 SQL Server 连接相关联. 今天进行身份验证时,又遇到这个问题,所以将我的解决方案整理一下,供有同样遭遇的朋友分享: 问题简述:用户 'sa' 登录失败.原因: 未与信任 SQL Server 连接相关联. 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Data.SqlClient.SqlException: 用户 '

利用SQL Server的全局临时表防止用户重复登录

server|临时表|重复     在我们开发商务软件的时候,常常会遇到这样的一个问题:怎样防止用户重复登录我们的系统?特别是对于银行或是财务部门,更是要限制用户以其工号身份多次登入.         可能会有人说在用户信息表中加一字段判断用户工号登录的状态,登录后写1,退出时写0,且登录时判断其标志位是否为1,如是则不让该用户工号登录.但是这样那势必会带来新的问题:如发生象断电之类不可预知的现象,系统是非正常退出,无法将标志位置为0,那么下次以该用户工号登录则不可登入,这该怎么办呢?     

有效验证用户的登录

在做网络关键事务的应用开发中,特别是有关有特定面向性的应用开发时,我们需要考虑的问题要比单机编程多得多.    这些因扰主要是来自于几方面:    首先,是所有基于WEB的应用都是建立在开放系统上的,客户端几乎总能看得见你或多或少的程序源码痕迹,虽然这对网络开发的快速壮大发展起到了良好的作用,但对于许多习惯于使用传统环境编程的程序员来说,可以说是一场恶梦,我们再也不能使用传统惯用的明码内嵌方式的验证了,因为我们所有需要的验证材料,几乎都能从客户端源码中分析出来,因而,在客户端使用明码验证思路,

网络开发之编程技巧之一(有效验证用户的登录)

 在做网络关键事务的应用开发中,特别是有关有特定面向性的应用开发时,我们需要考虑的问题要比单机编程多得多.这些因扰主要是来自于几方面:  首先,是所有基于WEB的应用都是建立在开放系统上的,客户端几乎总能看得见你或多或少的程序源码痕迹,虽然这对网络开发的快速壮大发展起到了良好的作用,但对于许多习惯于使用传统环境编程的程序员来说,可以说是一场恶梦,我们再也不能使用传统惯用的明码内嵌方式的验证了,因为我们所有需要的验证材料,几乎都能从客户端源码中分析出来,因而,在客户端使用明码验证思路, 在基于WE

ASP.NET使用Session判断用户是否登录

ASP.NET使用Session判断用户是否登录 以下是引用片段:if (bResult == true)   //登录的用户名和密码正确     { //保存登录的用户名 Session["LoginUser"] = FormatString.Replace(txtLoginUser.Text);  //这里就是给session赋值了.我对登录用户进行了一些安全处理 //转到管理首页        Response.Redirect("Admin_Index.Aspx&qu