Verification code

xiaoxiao2021-03-06  70

Tasks: About the application time of the verification code: 0.5 days detailed design Each time you enter the registered interface, you need to increase the verification code to verify it. The verification code is randomly generated, and each time you transfer this page verification code will be refreshed.

Enter the verification code and submit, if the input verification code is consistent with the resulting verification code, then the registration is successful, otherwise the error message other requirement: the verification code is not caught, it is not easy to be detected by other programs Authorization.jsp ----- ----------------> Result.jsp involved the page authorizationImage.jsp displayed verification code, as a picture type exists on the authorization.jsp input verification code page Result.JSP results page The information submitted is submitted to the source code AuthorizationImage.jsp <% @ page contenttype = "image / jpeg" import = "java.awt. *, Java.awt.image. *, Java.util. *, Javax.imageio. * "%> <%! Color getrandcolor (int FC, int bc) {// given random color random random = new random (); if (fc> 255) fc = 255; if (bc> 255) BC = 255; int R = fc random.nextint (bc-fc); int g = fc random.nextint (BC-FC); int b = fc random.nextint (BC-FC); Return New Color (R , G, b);}%> <% // Settings page does not cache Response.setHeader ("Pragma", "NO-Cache"); Response.setHeader ("Cache-Control", "NO-Cache"); response .SetDateHeader ("expires", 0); // Create image in memory int width = 60 , Height = 20; BufferedImage image = new BufferedImage (width, height, BufferedImage.TYPE_INT_RGB); // Get the graphics context Graphics g = image.getGraphics (); // class generating a random Random random = new Random (); // set Set Color G.SetColor (GetrandColor (200, 250)); G.FillRect (0, 0, Width, Height); // Set font G.SetFont (New Font ("Times New Roman", Font.Plain, 18) ); // Sea Box //g.SetColor (New Color ()); //g.drawRect (0, 10 ,width-1, Height 1); // Randomly generate 155 interference lines,

Make the authentication code in the image to be probed by other programs to G.SetColor (GetrandColor (160,200)); for (int i = 0; i <155; i ) {int x = random.nextint (width); int y = Random.nextint (Height); INT XL = random.nextint (12); int yl = random.nextint (12); g.drawline (x, y, x xl, y yl);} // Take the random production Certification code (4 digits) string srand = ""; for (int i = 0; i <4; i ) {string rand = string.valueof (Random.Nextint (10)); SRAND = rand; // Certification code is displayed in the image G.SetColor (New Color (20 random.nextint (110), 20 random.nextint (110))))); // Call the color from the function The same, may be because the seeds are too close, so only G. DrawString (RAND, 13 * i 6, 16) can only be generated;} // Deposit the authentication systattribute ("rand", srand); / / Image Effective g.dispose (); // Output Image to Page Imageio.write (Image, "JPEG", Response.getOutputStream ());%> Authorization.jsp <% @ Page ContentType = Text / HTML; Charset = GB2312 "%> authentication code input page </ title> <meta http-equiv =" content-type "content =" text / html; charSet = GB2312> <meta http -Equiv = "pragma" Content = "no-cache"> <meta http-equiv = "cache-control" content = "no-cache"> <meta http-equiv = "expires" content = "0"> </ Head> <body> <form method = post action = "result.jsp"> <Table> <tr> <td align = LEFT> system generated authentication code: </ td> <td></p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-109396.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="109396" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.036</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = 'a11PLEkyd4JMEp1OWJ8OlA4O7dl_2BKyqCLanlZXPFEkpN9HuwJK_2FjSz_2BOaCe4Xb8lxetFkOPdArY6RgJOyxKfyw_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>