------------- 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:
----------- 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 ----------------