Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135

    Bloccare utente in DataBase

    Ciao a tutti, con la ricerca sul forum ho trovato questo codice che conta i tentativi di accesso ad un'area riservata ed al terzo tentativo blocca l'utente.
    codice:
    if IsNull(session("tentativi")) then
         session("tentativi") = 1
       else
         session("tentativi") = session("tentativi") + 1
      end if
    Mi accorgo però che è sufficiente chiudere e riaprire il browser per riavere disponibile il login e dunque un numero illimitato di tentativi; la mia esigenza è quella di bloccare definitivamente l'utente dopo tre tentativi sbagliati nell'accesso che dovrà rivolgersi all'amministratore del sistema.

    Per fare questo ho inserito in un DB Access un campo si/no che dovrebbe "flaggarsi" se l'utente è bloccato e quindi impedirgli comunque il login anche dopo aver riaperto il browser, come posso realizzare questo?

    Grazie.

  2. #2
    Nel momento in cui utente arriva a 3 ..apri la connessione al db...(o forse è già aperta?)(come la apri per verificare password) e poi fai una query d aggiornamento sul record con id utente uguale a quello ke si logga....poi però dovrest d volta in volta controllare il flag e solo se non è true allora "concedere" i tentativi d acceso al db.

    Se è true allora apri una maschera nella quale dici d rivolgersi all'amministratore ecc...

    Spero d esserti stata d'aiuto

    VaneX

  3. #3
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Grazie, sei di grande aiuto.
    Ho provato così:
    codice:
    'va tutto bene
    
    else
    
      UserCode = objRS("id_user")
    
    if IsNull(session("tentativi")) then
         session("tentativi") = 1
       else
         session("tentativi") = session("tentativi") + 1
      end if
      
      if session("tentativi") = 3 then
        SQLUpdate = "UPDATE codici set Locked = true where user = "&UserCode
        response.write SQLUpdate:response.end
        cn.Execute(SQLUpdate)
    end if
    Il problema è che restituisce:
    Error Type:
    ADODB.Field (0x800A0BCD)
    Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

  4. #4
    user = "&UserCode


    spero il tipo sia lo stesso....

    in pratica nn trova il record...

    è un intero? se sì converti usercode e vedi ke cod t dà ..per ora nn vedo errori...controllo

    Vanex

  5. #5
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Il problema sta qui:
    codice:
    IF not objRS.EOF THEN 
    
      strEmail = objRS("userMail")
      strUserCode = objRS("id_user")
    
    'Esegui operazione prevista
    
    else
    
    if IsNull(session("tentativi")) then
         session("tentativi") = 1
       else
         session("tentativi") = session("tentativi") + 1
      end if
      
      if session("tentativi") = 3 then
        SQLUpdate = "UPDATE codici set Locked = true where id_user = "&strUserCode
        response.write SQLUpdate:response.end
        cn.Execute(SQLUpdate)
    end if
    end if
    Nel senso che la query di update è prevista nella condizione
    codice:
    Else
    per cui
    codice:
    strUserCode = objRS("id_user")
    non si valorizza... come risolvo? :master:

  6. #6
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    OK questo l'ho risolto, ma adesso come faccio a controllare che l'utente non sia bloccato nella maschera del logon?

    Devo farlo prima autenticare no?

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.