Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870

    Area protetta e limitare accessi

    Ciao a tutti.

    Ho realizzato un'area protetta con l'utilizzo dei cookies; vorrei limitare a tre i tentativi di accesso a queste pagine riservate ad al terzo tentativo andato male bloccare l'account e non permettergli altri tentativi di accesso.

    Come realizzo un sistema del genere?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    La proprietà sessionId restituisce un id unico per ogni utente. Puoi benissimo lavorare su quella.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  3. #3
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Originariamente inviato da 99eros9
    La proprietà sessionId restituisce un id unico per ogni utente. Puoi benissimo lavorare su quella.
    grazie, c'è un esempio su come organizzarsi? nel dbase devo prevedere qualche campo particolare che memorizzi il blocco dell'account?
    Più informazioni riesco a reperire meglio inizio a sviluppare...

  4. #4
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    dipende quante risorse hai intenzione di impiegare. Puoi usare un cookie o anche una base dati. Puoi utilizzare la proprietà sessionID o l'indirizzo ip. Memorizzi sia uno delle due, il nickname usato e magari anche la data in cui il visitatore ha tentato l'accesso. Man mano che il visitatore tenta il login con lo stesso nick errato aumenti di una unità un campo numerico. Ad ogni tentativo svolgi gli opportuni controlli. Se, ad esempio si tenta di accedere con un nick già erroneamente utilizzato in precedenza:
    controlli quando è stato fatto l'ultimo tentativo, il numero dei tentativi apportati etc etc... insomma i controlli vengono da se. Puoi decidere come meglio operare. Naturalmente, puoi sempre dire:
    se l'tente con questo indirizzo ip ha già tentato di accedere più di un'ora fà ed ha esaurito il numero delle volte che può provare ad accedere, cancella il record e ricomincia da capo.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  5. #5
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    grazie... all'inizio di ogni pagina protetta ho inserito questo codice.
    codice:
    If request.cookies("innovatel.it_accesso")("valido")<>"ok" Then %>
    <script> 
    window.open("pass/logon.asp?referer=<%=Request.ServerVariables("URL")%>","nomeFinestra","top=250,left=350,width=300,height=250"); 
    </script> 
    <% 
    Response.End 
    End If
    che "respinge" o "autorizza" alla navigazione nell'area protetta; nel caso in cui lo script autorizza, i dati dell'utente (nome, data accesso, ora accesso) vengono registrati in una tabella di un db access, chiamata "accessi", tramite questo codice:
    codice:
    dim strUser
    	strUser=request.form("user")
    dim strCode
    	strCode=request.form("codice")
    	strCode=cripta(strCode,key)
    	strReferer = Request.Form("referer")
    	
    SET objRS = Server.CreateObject("ADODB.Recordset")
    objRS.ActiveConnection = cn
     
    strSql = "SELECT * FROM codici WHERE userName='"&strUser&"' AND userCode='"&strCode&"'"
    objRS.Open strSQL
     
    IF objRS.EOF THEN
      ChiudiDB()
      Response.Redirect "logon.asp?referer=" & strReferer
    ELSE 
      Response.Cookies("innovatel.it_accesso")("valido")="ok"
      Response.cookies("innovatel.it_accesso")("nome")=objRS("utente_id")
      Session("user") = Request("user")
      Session("id_utente") = objRS("utente_id")
     		
    data = date()
    tempo = time()
    
    Sql = "INSERT INTO ACCESSI (UTENTE, DATA, ORA)VALUES('"& strUser &"', #"& data &"#, '"& tempo &"')"
    cn.Execute(SQL)
    
      ChiudiDB()
      Response.Redirect strReferer
    END IF
     
    SUB ChiudiDB()
      Cn.Close
      SET Cn = Nothing
    END SUB
    %>
    E' su questo codice che devo agire per "contare" i tentativi di accessi ed al terzo andato male bloccare l'account??? :master:

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.