LoginAttempts.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. class Application_Model_LoginAttempts
  3. {
  4. public function __construct()
  5. {
  6. }
  7. public static function increaseAttempts($ip)
  8. {
  9. $sql = "select count(*) from cc_login_attempts WHERE ip= :ip";
  10. $res = Application_Common_Database::prepareAndExecute($sql, array(':ip'=>$ip), Application_Common_Database::ALL);
  11. if ($res) {
  12. $sql = "UPDATE cc_login_attempts SET attempts=attempts+1 WHERE ip= :ip";
  13. Application_Common_Database::prepareAndExecute($sql, array(':ip'=>$ip), Application_Common_Database::EXECUTE);
  14. } else {
  15. $sql = "INSERT INTO cc_login_attempts (ip, attempts) values (':ip', '1')";
  16. Application_Common_Database::prepareAndExecute($sql, array(':ip'=>$ip), Application_Common_Database::EXECUTE);
  17. }
  18. }
  19. public static function getAttempts($ip)
  20. {
  21. $sql = "select attempts from cc_login_attempts WHERE ip= :ip";
  22. $res = Application_Common_Database::prepareAndExecute($sql, array(':ip'=>$ip), Application_Common_Database::ALL);
  23. return $res ? $res : 0;
  24. }
  25. public static function resetAttempts($ip)
  26. {
  27. $sql = "select count(*) from cc_login_attempts WHERE ip= :ip";
  28. $res = Application_Common_Database::prepareAndExecute($sql, array(':ip'=>$ip), Application_Common_Database::COLUMN);
  29. if ($res > 0) {
  30. $sql = "DELETE FROM cc_login_attempts WHERE ip= :ip";
  31. Application_Common_Database::prepareAndExecute($sql, array(':ip'=>$ip), Application_Common_Database::EXECUTE);
  32. }
  33. }
  34. }