1. Überblick über den Bildüberprüfungscode:
Viele Websites haben die Implementierung
Wirkung:
Verbesserung der Systemsicherheit
Mit dem Bestätigungscode können wir den Benutzer auffordern, den Text nach dem Eingeben von Benutzernamen, Kennwort und anderen Informationen auf das Bild einzugeben. Nachdem sich der Benutzer eingereicht hat, extrahiert das System zuerst den gerade aus der Sitzung generierten Verifizierungscode und verglichen ihn mit dem vom Benutzer eingegebenen Verifizierungscode. Wenn der Vergleich gleich ist, bedeutet dies, dass der Benutzer von der Anmeldeschnittstelle angemeldet ist. Andernfalls bedeutet dies, dass der Benutzer illegal ist. Wir verwenden den Verifizierungscode, um sicherzustellen, dass das System vor der Verwendung erfolgreich angemeldet werden muss, um zu verhindern, dass der Benutzer direkt in die Adressleiste eintritt, um die Seite zu erreichen.
Mit anderen Worten muss sich der Benutzer mit dem Verifizierungscode zuerst über die Anmeldeschnittstelle anmelden.
2. Methode zur Überprüfung der Implementierung
Es werden zwei Schlüsselklassen verwendet, und diese beiden Klassen beziehen sich auf die Ausgabe des Bildes.
Bufferedimage im = new bufferedimage (60,20, bufferedimage.type_int_rgb); // Der erste Parameter IM repräsentiert ein Bildobjekt // JPG repräsentiert einen Image -Ausgabetyp // Antwort.getOutputStream () repräsentiert einen Antwortausgangsstrom, dh wenn Sie auf diesen Servlet zugreifen. Das Servlet zeigt das Bild an Sie imageio.write (IM, "JPG", response.getOutputStream ());
A. Implementierungsschritte
1. Verwenden Sie BufferedImage, um ein Bild zu generieren, dann ImageIO -Ausgabe und Geben Sie es als JPG -Format an
Bufferedimage im = new bufferedimage (60,20, bufferedimage.type_int_rgb); // Der erste Parameter IM repräsentiert ein Bildobjekt // JPG repräsentiert einen Image -Ausgabetyp // Antwort.getOutputStream () repräsentiert einen Antwortausgangsstrom, dh wenn Sie auf diesen Servlet zugreifen. Das Servlet zeigt das Bild an Sie imageio.write (IM, "JPG", response.getOutputStream ());
2. Holen Sie sich das Bildzeichnungsobjekt
Graphics g = im.getGraphics();
3. Füllen Sie den Zeichenbereich aus
Random RM = new random (); Farbe c = neue Farbe (rm.Nextint (255), Rm.Nextint (255), Rm.Nextint (255));
4. Ausgabezahlen für das Bild
G.SetColor (neue Farbe (RM.Nextint (255), Rm.Nextint (255), Rm.Nextint (255)); G.Setfont (neue Schriftart ("Chinesische Lishu", Schrift.5. Zufällige 4 Ziffern
// Generieren Sie zufällig 4-stellige Zahlen für (int i = 0; i <4; i ++) {g.setColor (neue Farbe (rm.Nextint (255), rm.Nextint (255), rm.Nextint (255)); g.setfont (neue Schriftart ("gungsuh", font.bold | font.italic, 22)); g.drawstring (""+rm.Nextint (10), (i*15) +2, 18);}6. Nach dem Zufallsprinzip Chinesen erzeugen
String str = "Diejenigen, die in ihrer Brust Donner haben und wie ein flacher See als General bezeichnet werden"; für (int i = 0; i <4; i ++) {g.setColor (neue Farbe (rm.Nextint (255), rm.Nextint (255), rm.Nextint (255)); G.SetFont (neue Schriftart ("gungsuh", font.bold | font.italic, 15)); g.drawstring (""+str.charat (rm.Nextint (Str.Length ()), (i*15) +2, 18);};7. So stellen Sie diesen Verifizierungscode in die Seite ein:
<img src="/ImageServlet">
8. Speichern Sie die Zahlen für den Anmeldvergleich
// Speichern Sie die erhaltenen vier Zahlen in die Sitzung, damit der Benutzer, wenn sich der Benutzer anmeldet, zum Vergleich von Request.getSession (). SetAttribute ("Piccode", sbf.toString ()) verwendet wird;9. Anmeldeverifizierung
Zunächst muss überprüfen, ob der Benutzer in der Datenbank existiert. Wenn es vorhanden ist, muss auch überprüfen, ob der eingegebene Verifizierungscode konsistent ist.
Nachdem die Überprüfung erfolgreich ist, muss sie an die entsprechende Operationsseite weitergeleitet werden.
Codebeispiel:
boolean b_exist = login.Validate (Benutzername, Passwd); // Wenn der Benutzer existiert, wenn (b_exist) {string pic = ""+request.getSession (). getatTribute ("piccode"); // Überprüfungscode if (! Pic.equals ("") && pic.equals (Code)) {// Benutzerinformationen in die Sitzung für andere Verwendung request.getSession (). SetAttribute ("Benutzername", Benutzername); response.sendredirect ("index.jsp"); }}Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels für das Studium oder die Arbeit eines jeden hilfreich sein wird. Ich hoffe auch, Wulin.com mehr zu unterstützen!