------------- LOGIN ------------------ <% //il seguente codice serve per controllare se l'utente si e' gia' autenticato boolean gia_autenticato=false; // se ci sono, recupero i valori dei cookie num_1_cookie e num_2_cookie String num_1_cookie=null; String num_2_cookie=null; String num_1_session=null; String num_2_session=null; Cookie cookies[] = request.getCookies(); if(cookies.length >= 2 ) { for(int i=0; i <% } %>

Modulo di Login

Inserire Nome Account & Password:

Nome Account:
Password:
----------- END LOGIN ---------------- ------------- ENTER ------------------ <%@ page import="java.sql.*" %> <% String num_1_session; String num_2_session; %> <% // si recuperano i parametri dalla request String u_ID = request.getParameter("userID"); if (u_ID!=null) u_ID.trim(); else u_ID=""; // trim() toglie gli spazi all'inizio e alla fine della stringa String pwd = request.getParameter("password"); if (pwd!=null) pwd.trim(); else pwd=""; boolean errore=true; // controlla i dati di login recuperati dalla request if( u_ID.equals("") && pwd.equals("") ) out.write("

INSERIRE CODICE UTENTE E PASSWORD

"); else if(u_ID.equals("")) out.write("

INSERIRE CODICE UTENTE!

"); else if(pwd.equals("")) out.write("

INSERIRE PASSWORD!

"); else errore=false; // se non ci sono errori di immissione dati, si controlla utente e password if(errore==false) { String db_name="prova"; // caricamento driver Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // connessione Connection con =DriverManager.getConnection("jdbc:odbc:"+db_name); String q = "SELECT id, pw FROM Acc WHERE id = ? AND pw = ?"; PreparedStatement pst = con.prepareStatement(q); pst.setString(1, u_ID); pst.setString(2, pwd); ResultSet rsq = pst.executeQuery(); //se il ResultSet non e' vuoto, //abbiamo trovato in tabella la coppia utente-password boolean accedi=rsq.next(); rsq.close(); pst.close(); con.close(); if(accedi) { // si settano opportunamente i cookie e gli attributi di sessione // per garantire l'autenticazione java.util.Random r = new java.util.Random(); int num_1 = r.nextInt(9999) ; // si assegna un valore casuale tra 0 e 9999 int num_2 = r.nextInt(9999) ; // si assegna un valore casuale tra 0 e 9999 String num_1_string = Integer.toString(num_1); String num_2_string = Integer.toString(num_2); Cookie num_1_cookie = new Cookie("num_1_cookie", num_1_string); Cookie num_2_cookie = new Cookie("num_2_cookie", num_2_string); num_1_cookie.setMaxAge(2*24*60*60); // espresso in secondi: due giorni num_2_cookie.setMaxAge(2*24*60*60); // espresso in secondi: due giorni response.addCookie(num_1_cookie); // si appende il cookie alla response response.addCookie(num_2_cookie); // si appende il cookie alla response // si salva il valore num_1_string come attributo di session session.setAttribute("num_1_session", num_1_string); // si salva il valore num_2_string come attributo di session session.setAttribute("num_2_session", num_2_string); %>

OK!

Qua si mette la pagina a cui l'utente autenticato deve accedere.

Accedi alla pagina riservata... <% } else { %>

UTENTE ERRATO!

La pagina richiesta e' accessibile solo tramite autenticazione! <% } } %> ----------- END ENTER ---------------- ------------- PAG_1 ------------------ <% //il seguente codice serve per controllare se l'utente si e' gia' autenticato boolean gia_autenticato=false; // se ci sono, recupero i valori dei cookie num_1_cookie e num_2_cookie String num_1_cookie=null; String num_2_cookie=null; String num_1_session=null; String num_2_session=null; Cookie cookies[] = request.getCookies(); if(cookies.length >= 2 ) { for(int i=0; i

Pagina Segreta

Raggiungibile soltanto dopo autenticazione!

<% } else { %>

NON HAI DIRITTO DI ACCESSO A QUESTA PAGINA!

Se vuoi accedere, devi essere preventivamente autenticato.

<% } %> ----------- END PAG_1 ----------------