1. Présentation du code de vérification d'image:
De nombreux sites Web ont l'implémentation
effet:
Pour améliorer la sécurité du système
Avec le code de vérification, nous pouvons demander à l'utilisateur de saisir le texte sur l'image après avoir entré le nom d'utilisateur, le mot de passe et d'autres informations. Une fois l'utilisateur soumis, le système extrait d'abord le code de vérification qui vient d'être généré à partir de la session et le comparera avec le code de vérification entré par l'utilisateur. Si la comparaison est égale, cela signifie que l'utilisateur s'est connecté à partir de l'interface de connexion. Sinon, cela signifie que l'utilisateur est illégal. Nous utilisons le code de vérification pour nous assurer que le système doit être connecté avec succès avant de l'utiliser, afin d'éviter que l'utilisateur entrant directement sur la page soit accessible dans la barre d'adresse.
En d'autres termes, en utilisant le code de vérification, l'utilisateur doit d'abord se connecter à partir de l'interface de connexion.
2. Méthode d'implémentation de vérification
Deux classes clés sont utilisées et ces deux classes sont liées à la sortie de l'image.
BufferedImage IM = new BufferedImage (60,20, bufferedImage.type_int_rgb); // Le premier paramètre IM représente un objet d'image // JPG représente un type de sortie d'image // Response.getOutputStream () représente un flux de sortie de réponse, c'est-à-dire si vous accédez à ce service. Le servlet affichera l'image à vous imageo.write (im, "jpg", réponse.getOutputStream ());
3. Étapes de mise en œuvre
1. Utilisez BufferedImage pour générer une image, puis utilisez la sortie ImageIo et spécifiez-la sous forme de format JPG
BufferedImage IM = new BufferedImage (60,20, bufferedImage.type_int_rgb); // Le premier paramètre IM représente un objet d'image // JPG représente un type de sortie d'image // Response.getOutputStream () représente un flux de sortie de réponse, c'est-à-dire si vous accédez à ce service. Le servlet affichera l'image à vous imageo.write (im, "jpg", réponse.getOutputStream ());
2. Obtenez l'objet Drawing Image
Graphics g = im.getGraphics();
3. Remplissez la zone de dessin
Random rm = new Random (); couleur c = nouvelle couleur (rm.Nextint (255), rm.Nextint (255), rm.Nextint (255)); g.setColor (c); // remplissez la couleur de l'image entière g.filrect (0, 0, 60, 20);
4. Sortir les numéros de l'image
G.SetColor (New Color (Rm.Nextint (255), Rm.Nextint (255), Rm.Nextint (255))); G.Setfont (Nouvelle Font ("Lishu chinois", Font.Bold | Font.Italic, 28)); G.Drawstring ("8", 1, 18);5. 4 chiffres aléatoires
// Générer au hasard des nombres à 4 chiffres pour (int i = 0; i <4; i ++) {g.setColor (new Color (rm.Nextint (255), rm.Nextint (255), rm.Nextint (255))); G.setfont (New Font ("Gungsuh", Font.Bold | Font.italic, 22)); G.Drawstring ("" + rm.Nextint (10), (i * 15) +2, 18);}6. Générer au hasard le chinois
String str = "Ceux qui ont du tonnerre dans leur poitrine et les visages comme un lac plat peuvent être appelés un général"; pour (int i = 0; i <4; i ++) {g.setColor (new Color (rm.Nextint (255), rm.Nextint (255), rm.Nextint (255))); G.setfont (New Font ("Gungsuh", Font.Bold | Font.italic, 15)); G.Drawstring ("" + str.charat (rm.Nextint (str.length ())), (i * 15) +2, 18);}7. Comment introduire ce code de vérification dans la page:
<img src="/ImageServlet">
8. Enregistrer les nombres pour la comparaison de connexion
// Enregistrez les quatre nombres obtenus dans la session afin que lorsque l'utilisateur se connecte, il est utilisé pour comparer request.getSession (). SetAttribute ("piccode", sbf.toString ());9. Vérification de la connexion
Tout d'abord, il est nécessaire de vérifier si l'utilisateur existe dans la base de données. S'il existe, il est également nécessaire de vérifier si le code de vérification entré est cohérent.
Une fois la vérification réussie, il doit être transmis à la page de fonctionnement pertinente.
Exemple de code:
booléen b_exist = login.validate (nom d'utilisateur, passwd); // si l'utilisateur existe if (b_exist) {string pic = "" + request.getSession (). getAttribute ("picCode"); // Comparez le code de vérification if (! Pic.equals ("") && pic.equals (code)) {// Storage des informations d'utilisateur dans la session pour une autre utilisation request.getSession (). SetAttribute ("username", nom d'utilisateur); Response.SendRedirect ("index.jsp"); }}Ce qui précède est tout le contenu de cet article. J'espère que le contenu de cet article sera d'une aide à l'étude ou au travail de chacun. J'espère également soutenir plus Wulin.com!