Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it L'avatar di iaco74
    Registrato dal
    Sep 2002
    Messaggi
    682

    Sessioni e Area Riservata

    Ciao a tutti.....
    Premesso che di asp non ne so niente (uso php) devo realizzare un area riservata con asp.

    Ho realizzato un form su una pagina welcome.html da dove l'utente inserisce nome utente e password.
    Il form punta alla pagina control.asp che verifica i dati immessi.
    Se sono uguali a quelli presenti nel database (access) bene, altrimenti viene rimandato alla pagina welcome.html.

    Adesso però devo proteggere tutte le pagine dell'area riservata.

    In php ad esempio se voglio proteggere 5 pagine dall'accesso di utenti non autorizzati, in testa ad ogni pagina viene fatto un controllo.
    Se non sono settate le variabili globali di sessione (di solito due $_SESSION['usr'] e $_SESSION['pwd']) allora l'utente viene buttato fuori e rimandato alla pagina di login.

    Adesso mi immagino che anche con asp il funzionamento delle sessioni sia molto simile.

    Avete da fare qualche esempio in merito oppure link a tutorials o guide che affrontino questo argomento ?

    Ogni suggerimento è gradito
    Ciao
    IACO

  2. #2
    Utente di HTML.it L'avatar di Corwin
    Registrato dal
    Jan 2002
    Messaggi
    584
    Beh, semplicemente quando controlli che l'utente e la password sono corretti...

    Session("user") = .....
    Session("password") = .....

    e nelle pagine riservate

    If Session("user") = "" or Session("password") = "" Then
    response.redirect("login.asp")
    else
    '
    ' qui ci va la pagina riservata
    '
    end if
    I don't wanna have to shout it out / I don't want my hair to fall out
    I don't wanna be filled with doubt / I don't wanna be a good boy scout
    I don't wanna have to learn to count / I don't wanna have the biggest amount
    I don't wanna grow up

  3. #3
    Utente di HTML.it L'avatar di iaco74
    Registrato dal
    Sep 2002
    Messaggi
    682
    mille grazie......
    Cavolo a vederla cosi le sessioni si gestiscono molto più semplicemente che in php.

    Curiosità : ho letto su un articolo su freeAsp che se i cookies non sono abilitati nemmeno le sessioni funzioneranno.
    Quindi cosa succederà se un utente non autorizzato digita un url di una delle pagine protette e tale utente non ha i cookies abilitati ?

    Altra curiosità, posso fare in modo di impostare un tempo nella pagina di login affinche se i dati nel form non vengono inseriti entro un tot di tempo il login non sarà piu' valido ?

    Asp a qualche funzione predefinita per fare questo ?

    Grazie ancora della tua attenzione
    IACO

  4. #4
    Utente di HTML.it L'avatar di Corwin
    Registrato dal
    Jan 2002
    Messaggi
    584
    Originariamente inviato da iaco74
    Curiosità : ho letto su un articolo su freeAsp che se i cookies non sono abilitati nemmeno le sessioni funzioneranno.
    Quindi cosa succederà se un utente non autorizzato digita un url di una delle pagine protette e tale utente non ha i cookies abilitati ?
    Non avendo nessun cookie di sessione sul suo browser asp valutarà le due variabili come vuote e quindi non lo farà entrare (credo che le sessioni PHP usino lo stesso meccanismo, in ogni caso).

    Originariamente inviato da iaco74
    Altra curiosità, posso fare in modo di impostare un tempo nella pagina di login affinche se i dati nel form non vengono inseriti entro un tot di tempo il login non sarà piu' valido ?
    Non sono sicuro di aver capito... vuoi controllare che tra quando un utente chiede la pagina di login e quando fa il submit non passino più di tot minuti ?
    I don't wanna have to shout it out / I don't want my hair to fall out
    I don't wanna be filled with doubt / I don't wanna be a good boy scout
    I don't wanna have to learn to count / I don't wanna have the biggest amount
    I don't wanna grow up

  5. #5
    Utente di HTML.it L'avatar di iaco74
    Registrato dal
    Sep 2002
    Messaggi
    682
    Non sono sicuro di aver capito... vuoi controllare che tra quando un utente chiede la pagina di login e quando fa il submit non passino più di tot minuti ?
    Vorrei fare in modo (anche se non succederà mai) che nessuno possa ad esempio usare qualche programma (brute-force) che tenterebbe di trovare l'utente e la password della pagina.

    Non sono ferratissimo su questo argomento, ma spesso parlando di sicurezza delle sessioni con chi ne sa più di me , l'unica falla sembrave essere appunto questa.

    Se l'utente si collega alla pagina login.html ad esempio ed entro tot minuti non entra viene mandato ad un altra pagina.

    Non so se mi sono spiegato bene e se questo discorso ti torna e ne hai sentito parlare anche tu.
    IACO

  6. #6
    Utente di HTML.it L'avatar di Corwin
    Registrato dal
    Jan 2002
    Messaggi
    584
    No, il discorso non mi torna... fare un brute force significa provare tutte le combinazioni possibili finchè non si trova quella giusta. In questo caso ogni tentativo andrebbe verificato con una submit, quindi quello che succederebbe lato server è che un sacco di tentativi di login vengono fatti in pochissimo tempo. Se il tuo dubbio è che qualcuno possa tentare qualcosa di simile potresti disabilitare un account se vengono fatti n tentativi di connessione con password errata.
    I don't wanna have to shout it out / I don't want my hair to fall out
    I don't wanna be filled with doubt / I don't wanna be a good boy scout
    I don't wanna have to learn to count / I don't wanna have the biggest amount
    I don't wanna grow up

  7. #7
    Utente di HTML.it L'avatar di iaco74
    Registrato dal
    Sep 2002
    Messaggi
    682
    Molto bene non avevo mai pensato ad una cosa del genere.........
    Effettivamente è il risultato che vorrei...
    Avevo sempre sentito parlare di sessioni a tempo.
    Meglio così.

    Concettualmente una cosa del genere come si potrebbe fare ?

    Potrei avere un campo numerico nella stessa tabella, che si incrementa quando si invia il form, e si riazzera a login effettuato.
    Se supera un tot numero di tentativi si blocca il tutto disabilitando quell'utente dall'accesso.

    Potrebbe andare ?
    IACO

  8. #8
    Utente di HTML.it L'avatar di iaco74
    Registrato dal
    Sep 2002
    Messaggi
    682
    un altra domanda come funziona con asp l'id di sessione ?
    Come passarlo tra le pagine ?

    Mi spiego meglio :

    Seguendo le tue indicazioni ho realizzato l'area riservata.
    Le sessioni partono e si distruggono correttamente, ho fatto tutti i test del caso, ho dovuto solo aggiungere gli header per non far memorizzare le pagine protette nella cache.

    Ma ho alcuni dubbi:
    Ad esempio in php diamo un nome alla sessione "session_name('SID')" e poi quando voglio passare l'id di sessione da una pagina all'altra con get o post basta che concateni la variabile nell'url(get) o crei un campo nascosto nel form(post).

    Es: In caso di post faccio un campo hidden e gli assegno il nome SID e il valore "session_id()".

    Es: In caso di get faccio www.nomedominio.com/pagina.php?<?=SID?>
    oppure www.nomedominio.com/pagina.php?.SID

    In asp come si gestisce questo discorso ?
    Mi ci sono un po' perso su questa parte.

    Ciao :master:
    IACO

  9. #9
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    In ASP puoi recuperare il session.SessionID
    Puoi metterlo a sua volta in sessione e quindi fino a quando non scade è sempre recuperabile come qualsiasi altra sessione e puoi passarlo anche in post ed in get.

    codice:
    www.nomedominio.com/pagina.asp?sid=<%=SID%>
    Roby

  10. #10
    Utente di HTML.it L'avatar di iaco74
    Registrato dal
    Sep 2002
    Messaggi
    682
    grazie molto chiaro

    Un ultima domanda :

    Io faccio partire le sessioni cosi :

    <%
    Response.Expires = 0
    Response.AddHeader "pragma","no-cache"
    Response.AddHeader "cache-control", "private"
    Response.CacheControl = "no-cache"
    Dim the_user
    Dim the_pass
    the_user=Request.Form("usr_sms")
    the_pass=Request.Form("pwd_sms")
    Set conn = Server.CreateObject("ADODB.Connection")
    StrConnect = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" &Server.MapPath("mdb-database\utenti.mdb")&"; Persist Security Info = False"
    conn.open StrConnect
    set rds_utenti = Server.CreateObject("ADODB.Recordset")
    set rds_utenti=conn.execute("select * from utenti_sms WHERE user_sms='"&the_user&"' AND pass_sms='"&the_pass&"'")
    if rds_utenti.EOF then
    Response.Redirect("welcome.asp")
    else
    Session("user")=the_user
    Session("pass")=the_pass
    Response.Redirect("menu.asp")

    end if
    rds_utenti.close
    Set rds_utenti=nothing
    conn.close
    Set conn=nothing
    %>
    Per avere una sessione che si chiama SID dovrei registrarne una Session("SID")=......
    Giusto ?
    Oppure una volta che viene registrata una qualsiasi variabile di sessione, viene registrato anche un univico id di sessione ?
    Se si come si recupera ?

    Grazie per la vostra attenzione
    IACO

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.