Du kan be en användare att mata in något , vare sig det är ett nummer eller ett användarnamn , men det betyder inte att han faktiskt kommer . En användare levererar data som ditt program inte väntar kan leda till att program inte fungerar , eller äventyra systemets säkerhet . Inkludera mekanismer för att kontrollera användarens input innan resten av programmet agerar på data . Program Funktionalitet
p Om ditt program är användaren matar fel typ av data , kan det orsaka att programmet kraschar . Till exempel kan ett program så enkelt som en fyra - funktion kalkylator emulator krascha om användaren skriver i bokstäver i stället för siffror . Java variabler kan bara hålla den typ av data som en programmerare förklarat att hålla , som heltal eller tecken . Om ett program tar i användarens input och försöker lagra den i en variabel av en annan datatyp , kommer programmet inte fungerar .
Injection Attacks
inte verifiera användarens input kan också utgöra en betydande säkerhetsrisk . Ett exempel på en sådan säkerhetsrisk är SQL injection attacker , där en användare typer ogiltig information i inmatningsfältet för ett Java- program som hämtar data från relationsdatabaser . Om ditt program är att skicka med indata direkt i SQL-fråga , kan användaren tvinga felmeddelanden att avslöja information om själva databasen , eller lura programmet till att köra en annan fråga .
verifiering Metoder
Du måste skriva kod för att kontrollera att din användarens input inte kommer att bryta programmet . Syntaxen " swingObject.getText ( ) ; " ger dig tillgång till innehållet i en viss Swing fält för dig att lagra resultatet i en sträng variabel . Ersätt " swingObject " med namnet på din input objektet . Du kan använda en " för loop " för att gå igenom innehållet i strängen ett element i taget för att leta efter data som kan orsaka problem .
Kretsa
för att se till att din input verifieringsmetod ger användaren en chans att ge giltiga indata , bör du sätta din specialiserad funktion inuti en " tag " loop . Gör en boolesk variabel som ursprungligen är satt till false , och ställ in " medan " loop att engagera när den variabeln är lika med sant . Inkludera ett "om " uttalande i ditt lönekonto mekanism som utlöser när ett problem uppstår med användarens input och sätter din boolesk variabel till true .