首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

运用session实现一次性验证码

2012-09-25 
使用session实现一次性验证码在登录页面和各种页面,会看到有验证码输入,这样做的目的是为了防止密码猜测工

使用session实现一次性验证码

       在登录页面和各种页面,会看到有验证码输入,这样做的目的是为了防止密码猜测工具破解密码,保护了用户密码安全,验证码只能使用一次,这样就给密码猜测工具带来了很大的困难,基本上阻断了密码猜测工具的使用。

       可以使用session获得一次性验证码。先看一下登录页面,即显示验证码的页面,代码为:

package com.you.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class LoginFormServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");PrintWriter out = response.getWriter();HttpSession session = request.getSession(false);if(session == null) {out.print("验证码处理问题");return;}String saveCode = (String)session.getAttribute("check_code");if(saveCode == null) {out.print("验证码处理问题");return;}String checkCode = request.getParameter("check_code");if(!saveCode.equals(checkCode)) {out.print("验证码无效!");return;}session.removeAttribute("check_code");out.print("验证码通过,服务器正在校验用户名和密码!");}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}}


热点排行