Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 13237|Răspunde: 7

[JavaEE] Cum să implementezi verificarea codului de verificare pe pagina de destinație?????

[Copiază linkul]
Postat pe 19.03.2019 00:16:43 | | |
<html页面>. .
<tr>
      <TDClasă="td_left">
         <Casă de discuripentru="Verificat">CAPTCHA</Casă de discuri>
      </TD>
      <TDClasă="td_right verificat">
         <IntrareTip="text"id="Verificat"Nume="Verificat"Clasă="Verificat">
         <IMGsrc="checkCodeServlet"înălțime="32px"alt=""onclick="changeCheckCode(Asta)">
<ScenariuTip="text/javascript">
   //Evenimente de click pe imagine
   FuncțiechangeCheckCode(IMG) {
      IMG.src="checkCodeServlet?"+NoutățiData().getTime();
                               }
</Scenariu>
      </TD>
   </tr>//验证码拼接部分Clasa publicăCheckCodeServletextindeHttpServlet{
   @Override
   Nulitate publicădoGet(Cerere HttpServletRequest, răspuns HttpServletResponse)AruncăriServletException, IOException{
      
      //Serverul informează browserul să nu facă cache
      response.setHeader("pragma","fără cache");
      response.setHeader
("controlul cache-ului","fără cache");
      response.setHeader
("expiră","0");
      
      
//Creează una lungă în memorie80, larg30Fundalul negru implicit
      //Parametrul 1: Lungime
      //Parametrul 2: Lățime
      //Parametrul 3: Culoare
      intLățime =80;
      
intÎnălțime =30;
      ImagineBufferedImage =
NoutățiBufferedImage(lățime, înălțime, imagine tamponată.TYPE_INT_RGB);
      
      
//Ia peria
      Grafică g = image.getGraphics();
      
//Setează culoarea pensulei pe gri
      g.setColor(Culoare.GRI);
      
//Completează imaginea
      g.fillRect(0,0, lățime, înălțime);
      
      
//Producție4cod de verificare aleatorie,12Ey
      Șir checkCode = getCheckCode();
      
//Introdu codulHttpSessionMedie
      request.getSession().setAttribute("cod",checkCode);
      
      
//Setează culoarea pensulei pe galben
      g.setColor(Culoare.GALBEN);
      
//Setează dimensiunea fontului
      g.setFont(NoutățiFont("Corp negru",Font.ÎNDRĂZNEȚ,24));
      
//Scrie un cod de verificare pentru imagine
      g.drawString(checkCode,15,25);
      
      
//Trimite imaginea din memorie către browser
      //Parametrul 1: Obiectul imagine
      //Parametrul 2: Formatul imaginii, cum ar fi:PNG, JPG, GIF
      //Parametrul 3: Unde este afișată imaginea
      ImageIO.Scrie(imagine,"PNG",răspuns.getOutputStream());
   
}
   /**
    *Producție4Șiruri aleatoare de biți
    */
   PrivatȘir getCheckCode() {
      Baza coardului ="0123456789ABCDEFGabcdefg";
      
intDimensiune = Bază.Lungime();
      Aleatoriu r =
NoutățiAleatoriu();
      StringBuffer sb =
NoutățiStringBuffer();
      
pentru(inti=1; i<=4; i++){
         //Producție0laMărimea 1ale valorilor aleatoare
         intindex = r.nextInt(mărime);
         
//laBazăstring get subscript caindexPersonaje
         Charc = base.charAt(index);
         
//voințăcPune-lStringBufferMergi pe mijloc
         sb.append(c);
      
}
      Întoarcereasb.toString();
   
}
   @Override
   Nulitate publicădoPost(Cerere HttpServletRequest, răspuns HttpServletResponse) AruncăriServletException, IOException{
      Asta.doGet(cerere, răspuns);
   
}
}


Cum să reușești asta?










Precedent:Soluție pentru a prinde pachete după Android 7.0 certificate necunoscute și invalide
Următor:"Scrierea codului de înaltă calitate: 150 de sugestii pentru îmbunătățirea programelor C++" de Li Jian (autor...
Postat pe 19.03.2019 09:13:39 |


Principiul este că atunci când utilizatorul obține codul de verificare, șirul de cod de verificare este stocat în sesiune, iar când utilizatorul trimite codul de verificare, acesta este comparat cu șirul din sesiune.
Postat pe 19.03.2019 09:41:21 |
La comparație, convertiți cazul
 Proprietarul| Postat pe 20.03.2019 13:14:55 |
QWERTYU Postat la 2019-3-19 09:41
La comparație, convertiți cazul

Mulțumesc, frate mai mare
 Proprietarul| Postat pe 20.03.2019 13:15:34 |
Xiao Zhazha Postat la 2019-3-19 09:13
Principiu, când utilizatorul obține codul de verificare, șirul de cod de verificare este stocat în sesiune, iar când utilizatorul trimite codul de verificare, caracterele din sesiune ...

Datorită băiatului mare, întrebarea lui Xiaobai este relativ mică
Postat pe 20.03.2019 13:24:54 |
Pu Zhibin Postat la 20-03-2019 13:15
Datorită băiatului mare, întrebarea lui Xiaobai este relativ mică

E în regulă, toți au venit din Xiaobai
 Proprietarul| Postat pe 20.03.2019 15:39:42 |
Xiao Zhazha Postat la 2019-3-19 09:13
Principiu, când utilizatorul obține codul de verificare, șirul de cod de verificare este stocat în sesiune, iar când utilizatorul trimite codul de verificare, caracterele din sesiune ...

Frate, avem o misiune în spate, care este să facem legătura pe trei niveluri între provincii și municipalități, cum să facem asta, te voi adăuga pe WeChat
Postat pe 20.03.2019 15:45:50 |
Pu Zhibin Postat la 20-03-2019 15:39
Frate, avem o misiune în spate să facem legătura pe trei niveluri între provincii și orașe, cum ar trebui să se facă asta? Te voi adăuga pe WeChat...

Fă-o singur.

Pagina HTML are 3 ferestre derulante de selectare, când utilizatorul selectează ferința derulantă, declanșează evenimentul de schimbare, solicită date de la interfața cu ID-ul parametrului și adaugă dinamic datele returnate la nivelul următor al fereului derulant, ideea generală este următoarea.
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com