1. 사진 검증 코드 개요 :
많은 웹 사이트에 구현이 있습니다
효과:
시스템 보안을 개선합니다
확인 코드를 사용하면 사용자 이름, 비밀번호 및 기타 정보를 입력 한 후 사용자에게 사진에 텍스트를 입력하도록 요청할 수 있습니다. 사용자가 제출 한 후 시스템은 먼저 세션에서 생성 된 검증 코드를 추출하여 사용자가 입력 한 확인 코드와 비교합니다. 비교가 같으면 사용자가 로그인 인터페이스에서 로그인했음을 의미합니다. 그렇지 않으면 사용자가 불법임을 의미합니다. 사용자가 주소 표시 줄에 액세스 할 페이지에 직접 입력하는 것을 피하기 위해 시스템을 사용하기 전에 시스템을 성공적으로 로그인 해야하는지 확인해야합니다.
다시 말해, 확인 코드를 사용하여 사용자는 먼저 로그인 인터페이스에서 로그인해야합니다.
2. 검증 구현 방법
두 가지 주요 클래스가 사용 되며이 두 클래스는 그림의 출력과 관련이 있습니다.
BufferedImage IM = New BufferedImage (60,20, BufferedImage.type_int_rgb); // 첫 번째 매개 변수 IM은 이미지 객체를 나타냅니다. // jpg는 이미지 출력 유형을 나타냅니다. 서블릿은 이미지를 imageio.write (im, "jpg", response.getoutputStream ())에 표시합니다.
3. 구현 단계
1. BufferedImage를 사용하여 이미지를 생성 한 다음 Imageio 출력을 사용한 다음 JPG 형식으로 지정하십시오.
BufferedImage IM = New BufferedImage (60,20, BufferedImage.type_int_rgb); // 첫 번째 매개 변수 IM은 이미지 객체를 나타냅니다. // jpg는 이미지 출력 유형을 나타냅니다. 서블릿은 이미지를 imageio.write (im, "jpg", response.getoutputStream ())에 표시합니다.
2. 이미지 그리기 개체를 가져옵니다
Graphics g = im.getGraphics();
3. 드로잉 영역을 채우십시오
랜덤 rm = new random (); color c = new color (rm.nextint (255), rm.nextint (255), rm.nextint (255)); g.setColor (c); // 전체 그림의 색상을 채우고 G.FillRect (0, 0, 60, 20);
4. 사진에 대한 출력 번호
G.SetColor (새 색상 (RM.NextInt (255), R.NextInt (255), R.NextInt (255)); G.SetFont (New Font ( "Chinese Lishu", Font.Bold | Font.italic, 28)); G.DrawString ( "8", 1, 18);
5. 랜덤 4 자리
// (int i = 0; i <4; i ++) {g.setColor (new color (rm.NextInt (255), rm.NextInt (255), rm.NextInt (255))에 대해 무작위로 4 자리 숫자를 생성합니다. g.setfont (새 글꼴 ( "Gungsuh", font.bold | font.italic, 22)); G.DrawString ( ""+rm.NextInt (10), (i*15) +2, 18);}6. 중국어를 무작위로 생성합니다
String str = "가슴에 천둥이 있고 평평한 호수처럼 얼굴을 가진 사람들은 장군이라고 할 수 있습니다."; for (int i = 0; i <4; i ++) {g.setcolor (new color (rm.nextint (255), rm.nextint (255), rm.nextint (255)); g.setfont (새 글꼴 ( "Gungsuh", font.bold | font.italic, 15)); G.DrawString ( ""+str.charat (rm.nextInt (str.length ()), (i*15) +2, 18);}7. 페이지 에이 확인 코드를 소개하는 방법 :
<img src="/ImageServlet">
8. 로그인 비교를 위해 숫자를 저장하십시오
// 사용자가 로그인하면 request.getSession (). setAttribute ( "piccode", sbf.toString ())을 비교하는 데 사용되도록 획득 된 4 개의 숫자를 세션에 저장합니다.
9. 로그인 확인
먼저 사용자가 데이터베이스에 존재하는지 확인해야합니다. 존재하는 경우 입력 된 검증 코드가 일관되는지 확인해야합니다.
확인이 성공하면 관련 작업 페이지로 전달해야합니다.
Code example:
Boolean b_exist = login.validate (username, passwd); // 사용자가 (b_exist) {String pic = "" ""+request.getSession (). getAttribute ( "piccode"); // (! pic.equals ( "") && pic.equals (code)) {// 다른 사용 requestsession (). setattribute ( "username", username); Response.SendRedirect ( "index.jsp"); }}위는이 기사의 모든 내용입니다. 이 기사의 내용이 모든 사람의 연구 나 업무에 도움이되기를 바랍니다. 또한 wulin.com을 더 지원하기를 바랍니다!