Beste,
Ik ben een beetje aan het oefenen en ik dacht, kom laat ik bij de inlogprocedure nu eens voor de leuk een tijdelijke blok proberen te maken. Je kent dat wel. Je logt 3 keer ergens verkeerd in met een verkeerde pincode en hoppa je kunt tijdelijk niet meer inloggen. Zelfs niet als je wel alles juist intypt.
Stel men wordt geblokkeerd op 10 september 2015 om 21:00 uur. De blokkade duurt dan i.v.m. een blokkade van 15 minuten tot en met 21:15 uur. Hier krijgt men melding van. Op het moment dat met van 21:15 uur inlogt met de juiste gegevens dan reset de blokkade weer en is er niets meer aan de hand.
Dit lukt wel, maar gaande weg het testen met verschillende tijden merk ik dat bij een wisseling van de ene dag naar de andere, de blokkade meteen wordt opgeheven als men een juiste poging doet.
Stel men wordt geblokkeerd op 10 september 2015 om 23:58 uur.
Vanaf nu krijgt men na juist inloggen een melding te zien dat men pas weer om 00:13 uur weer kan inloggen. Echter je voelt hem denk ik al: Datum wordt 11 september 2015 en tijd is 00:00 uur. De 15 minuten zijn in 1 klap weggevaagd en dus kan men inloggen.
Zodra de blokkade er in zit dan volgt de standaard inlogprocedure. Echter met een extra stapje om te controleren op blokkade en of de blokkade op te heffen.
Bovenstaande procedures bevinden zich in dezelfde sub van een userform.
Het "probleem" zit hem in de datum en tijd. Ik heb ook Now() geprobeerd en deze ook in format hh:mm geprobeerd, maar ik krijg het vreemd genoeg niet voor elkaar.
Ik hoor graag reacties. Het is gewoon een probeersel en maakt geen deel uit van de code die feitelijk al klaar is. Ik ben gewoon nieuwsgierig en leergierig.
Ik ben een beetje aan het oefenen en ik dacht, kom laat ik bij de inlogprocedure nu eens voor de leuk een tijdelijke blok proberen te maken. Je kent dat wel. Je logt 3 keer ergens verkeerd in met een verkeerde pincode en hoppa je kunt tijdelijk niet meer inloggen. Zelfs niet als je wel alles juist intypt.
Stel men wordt geblokkeerd op 10 september 2015 om 21:00 uur. De blokkade duurt dan i.v.m. een blokkade van 15 minuten tot en met 21:15 uur. Hier krijgt men melding van. Op het moment dat met van 21:15 uur inlogt met de juiste gegevens dan reset de blokkade weer en is er niets meer aan de hand.
Dit lukt wel, maar gaande weg het testen met verschillende tijden merk ik dat bij een wisseling van de ene dag naar de andere, de blokkade meteen wordt opgeheven als men een juiste poging doet.
Stel men wordt geblokkeerd op 10 september 2015 om 23:58 uur.
Vanaf nu krijgt men na juist inloggen een melding te zien dat men pas weer om 00:13 uur weer kan inloggen. Echter je voelt hem denk ik al: Datum wordt 11 september 2015 en tijd is 00:00 uur. De 15 minuten zijn in 1 klap weggevaagd en dus kan men inloggen.
Code:
'Mislukte inlogpogingen registreren en blokkeren
With Sheets("Gebruikers")
.Cells(UserRow, 11) = .Cells(UserRow, 11) + 1
If .Cells(UserRow, 11) = 3 Then .Cells(UserRow, 12) = Format(Time, "hh:mm")
End With
Zodra de blokkade er in zit dan volgt de standaard inlogprocedure. Echter met een extra stapje om te controleren op blokkade en of de blokkade op te heffen.
Code:
With Sheets("Gebruikers")
LastRow = .Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To LastRow
If Trim(Tb_Gebruiker) = Trim(.Cells(i, 1)) Then
GebruikerOk = True
UserRow = i 'Rij Gebruiker opslaan in variabele voor verder gebruik buiten de For - Next
If Trim(Tb_Wachtwoord) = Trim(.Cells(i, 2)) Then
WachtwoordOk = True
''''''''''''''''
'Controle op blokkade en of opheffen van de blokkade
If .Cells(i, 11) = 3 Then
If Time - .Cells(i, 12) <= "00:15:00" Then
MsgBox "Beste " & .Cells(i, 3) & "," & vbNewLine & vbNewLine & _
"Uw gebruikersnaam is tot en met " & Format(CDate(.Cells(i, 12) + TimeValue("00:15:00")), "hh:mm") _
& " UUR tijdelijk geblokkeerd."
GoTo Reset
End If
.Cells(i, 11) = 0 'Reset Aantal mislukte inlogpogingen
.Cells(i, 12) = vbNullString
End If
Bovenstaande procedures bevinden zich in dezelfde sub van een userform.
Het "probleem" zit hem in de datum en tijd. Ik heb ook Now() geprobeerd en deze ook in format hh:mm geprobeerd, maar ik krijg het vreemd genoeg niet voor elkaar.
Ik hoor graag reacties. Het is gewoon een probeersel en maakt geen deel uit van de code die feitelijk al klaar is. Ik ben gewoon nieuwsgierig en leergierig.
Laatst bewerkt: