PDA

View Full Version : Codice di controllo java xil riconoscimento dei cartteri ' opp "


Voltron
29-05-2004, 13:01
Premetto che per un esame universitario sto realizzando un'applicazione web che sfrutta jsp xla realizzazione di pagine dinamiche.
Quest'applicazione nella sua pagina iniziale contiene un form per l'inserimento di username e password; xproteggere questo sistema di autenticazone da eventuali attacchi di tipo sql-injection, devo far sì che, se nel campo username o password viene inserito il carattere ' opp " mi venga dato un messaggio di errore.
Ho provato ad inserire il seguente codice di controllo all'interno della pagina jsp, ma la pagina non viene compilata :mad::

if ( UserName.charAt(0) == " ' " ) {

System.out.println("Username non valido!");
}


Ora mi chiedo: C'è un modo xinserire un codice di controllo che verifichi che il primo carattere della variabile UserName(di tipo String) non sia ' opp "???

Aiutatemi!....qualsiasi consiglio è ben accetto! :)

kingv
29-05-2004, 14:20
if ( UserName.charAt(0) == '\'' || UserName.charAt(0) == '"') {
//errore
}

Voltron
29-05-2004, 14:43
non smetterò mai di ringraziarti xla tua risposta!
Il codice da te suggeritomi funziona alla grande!:D

Xrò vorrei kiederti alcune delucidazioni sul codice:

1) che tipo di operatore è ||......?? io, come dal codice presente nel mio primo post, conosco l'operatore "or" scritto nella seguente forma |....(ossia con solo una stanghetta verticale).

2)a cosa serve il carattere \ messo in: (UserName.charAt(0) == '\'')
??......sulla base delle mie reminescenze di programmazione C, dovrebbe servire a fargli digerire il carattere apostrofo.....?
Ho cercato sul manuale "Java2 i fondamenti della McGrawHill", ma nella sezione degli operatori non si fa menzione sul suo utilizzo.

kingv
29-05-2004, 15:23
1) sono tutti e due OR ma || si applica ai tipi boolean (logical OR ), | ai bit (bitwise inclusive OR)


2) esatto serve a dire al compilatore che il carattere successivo non eve essere "interpretato" ma preso letteralemente.
Se non lo mettessi lui considererebbe il secondo "apostrofo" come quello che chiude il char e poi troverebbe il terzo di cui non riuscirebbe a capire il significato.