Jump to content


Photo

Timed Unlock


  • Please log in to reply
2 replies to this topic

#1 liboration77

liboration77
  • New Members
  • Pip
  • Newbie
  • 2 posts

Posted 26 October 2006 - 04:20 PM

I am making a login script that locks a user account for 15 minutes if someone fails to login correctly after 5 attempts. It works, however, I do not know how to unlock it 15 minutes later.

My original thought would be to store in the database the time at which the account was locked. Then everytime someone tried to log into the locked account it would check to see if the current time is 15 minutes or more past the time at which the account was locked.

My problem is I have no idea on how to successfully compare two times like this. Any ideas?


#2 .josh

.josh
  • Staff Alumni
  • .josh
  • 14,871 posts

Posted 26 October 2006 - 04:38 PM

convert it to unix timestamp format and just do a regular comparison. look at the mktime function
Did I help you? Feeling generous? Buy me lunch! 
Please, take the time and do some research and find out how much it would have cost you to get your help from a decent paid-for source. A "roll-of-the-dice" freelancer will charge you $5-$15/hr. A decent entry level freelancer will charge you around $15-30/hr. A professional will charge you anywhere from $50-$100/hr. An agency will charge anywhere from $100-$250/hr. Think about all this when soliciting for help here. Think about how much money you are making from the work you are asking for help on. No, we do not expect you to pay for the help given here, but donating a few bucks is a fraction of the cost of what you would have paid, shows your appreciation, helps motivate people to keep offering help without the pricetag, and helps make this a higher quality free-help community :)

#3 Orio

Orio
  • Staff Alumni
  • Advanced Member
  • 2,491 posts

Posted 26 October 2006 - 04:39 PM

Your idea is great. When you "lock" a user enter the current timestamp (by simply using the returned value from the function time()) into the database.
Then, in every log in attempt check if the current timestamp (run time() again :)) minus the timestamp in the database is greater than 15*60 (15minutes * 60 seconds). If it is, let the user log in. If it's less that means the 15 minutes of "locking time" haven't passed yet :)

Orio.
Think you're smarty?

(Gone until 20 to November)




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users