diff options
author | Geekologist <Conver@users.noreply.github.com> | 2016-07-28 14:08:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-28 14:08:22 +0200 |
commit | 45d0e4af33008fff2d47c7ed678546b627a32356 (patch) | |
tree | 19a5c42f2da5344677ff59423eb1735c3ba79d0f | |
parent | d565661dc5bfc795c728ffc0176ab9bf589bde91 (diff) | |
parent | 935af0b41b787820912538c22c29c8b3e4589028 (diff) | |
download | PHPAuth-45d0e4af33008fff2d47c7ed678546b627a32356.zip PHPAuth-45d0e4af33008fff2d47c7ed678546b627a32356.tar.gz PHPAuth-45d0e4af33008fff2d47c7ed678546b627a32356.tar.bz2 |
Merge pull request #209 from InformatiqueHoules/dev-houles
Removing rowCount for sql select results. Adding a sql file for informix
-rw-r--r-- | Auth.php | 46 | ||||
-rw-r--r-- | database_informix.sql | 85 |
2 files changed, 101 insertions, 30 deletions
@@ -124,6 +124,8 @@ class Auth $return['hash'] = $sessiondata['hash']; $return['expire'] = $sessiondata['expiretime']; + + $return['cookie_name'] = $this->config->cookie_name; return $return; } @@ -290,7 +292,7 @@ class Auth $query = $this->dbh->prepare("SELECT id FROM {$this->config->table_users} WHERE email = ?"); $query->execute(array($email)); - if ($query->rowCount() == 0) { + if (!$row = $query->fetch(\PDO::FETCH_ASSOC)) { $this->addAttempt(); $return['message'] = $this->lang["email_incorrect"]; @@ -352,11 +354,11 @@ class Auth $query = $this->dbh->prepare("SELECT id FROM {$this->config->table_users} WHERE email = ?"); $query->execute(array($email)); - if ($query->rowCount() == 0) { + if(!$row = $query->fetch(\PDO::FETCH_ASSOC)) { return false; } - return $query->fetch(\PDO::FETCH_ASSOC)['id']; + return $row['id']; } /** @@ -452,11 +454,10 @@ class Auth $query = $this->dbh->prepare("SELECT id, uid, expiredate, ip, agent, cookie_crc FROM {$this->config->table_sessions} WHERE hash = ?"); $query->execute(array($hash)); - if ($query->rowCount() == 0) { - return false; - } + if (!$row = $query->fetch(\PDO::FETCH_ASSOC)) { + return false; + } - $row = $query->fetch(\PDO::FETCH_ASSOC); $sid = $row['id']; $uid = $row['uid']; $expiredate = strtotime($row['expiredate']); @@ -492,12 +493,12 @@ class Auth { $query = $this->dbh->prepare("SELECT uid FROM {$this->config->table_sessions} WHERE hash = ?"); $query->execute(array($hash)); + + if (!$row = $query->fetch(\PDO::FETCH_ASSOC)) { + return false; + } - if ($query->rowCount() == 0) { - return false; - } - - return $query->fetch(\PDO::FETCH_ASSOC)['uid']; + return $row['uid']; } /** @@ -597,10 +598,6 @@ class Auth $query = $this->dbh->prepare("SELECT email, password, isactive FROM {$this->config->table_users} WHERE id = ?"); $query->execute(array($uid)); - if ($query->rowCount() == 0) { - return false; - } - $data = $query->fetch(\PDO::FETCH_ASSOC); if (!$data) { @@ -623,10 +620,6 @@ class Auth $query = $this->dbh->prepare("SELECT * FROM {$this->config->table_users} WHERE id = ?"); $query->execute(array($uid)); - if ($query->rowCount() == 0) { - return false; - } - $data = $query->fetch(\PDO::FETCH_ASSOC); if (!$data) { @@ -754,8 +747,7 @@ class Auth $query = $this->dbh->prepare("SELECT id, expire FROM {$this->config->table_requests} WHERE uid = ? AND type = ?"); $query->execute(array($uid, $type)); - if ($query->rowCount() > 0) { - $row = $query->fetch(\PDO::FETCH_ASSOC); + if ($row = $query->fetch(\PDO::FETCH_ASSOC)) { $expiredate = strtotime($row['expire']); $currentdate = strtotime(date("Y-m-d H:i:s")); @@ -850,7 +842,7 @@ class Auth $query = $this->dbh->prepare("SELECT id, uid, expire FROM {$this->config->table_requests} WHERE rkey = ? AND type = ?"); $query->execute(array($key, $type)); - if ($query->rowCount() === 0) { + if (!$row = $query->fetch(\PDO::FETCH_ASSOC)) { $this->addAttempt(); $return['message'] = $this->lang[$type."key_incorrect"]; @@ -1073,15 +1065,13 @@ class Auth $query = $this->dbh->prepare("SELECT id FROM {$this->config->table_users} WHERE email = ?"); $query->execute(array($email)); - if ($query->rowCount() == 0) { + if(!$row = $query->fetch(\PDO::FETCH_ASSOC)) { $this->addAttempt(); $return['message'] = $this->lang["email_incorrect"]; return $return; } - $row = $query->fetch(\PDO::FETCH_ASSOC); - if ($this->getBaseUser($row['id'])['isactive'] == 1) { $this->addAttempt(); $return['message'] = $this->lang["already_activated"]; @@ -1402,10 +1392,6 @@ class Auth $query = $this->dbh->prepare("SELECT password FROM {$this->config->table_users} WHERE id = ?"); $query->execute(array($userid)); - if ($query->rowCount() == 0) { - return false; - } - $data = $query->fetch(\PDO::FETCH_ASSOC); if (!$data) { diff --git a/database_informix.sql b/database_informix.sql new file mode 100644 index 0000000..442a7bc --- /dev/null +++ b/database_informix.sql @@ -0,0 +1,85 @@ +DROP TABLE config; +CREATE TABLE config ( + setting varchar(100) NOT NULL, + value varchar(100) DEFAULT NULL, + PRIMARY KEY (setting) +); + +INSERT INTO config (setting, value) VALUES ('attack_mitigation_time', '+30 minutes'); +INSERT INTO config (setting, value) VALUES ('attempts_before_ban', '30'); +INSERT INTO config (setting, value) VALUES ('attempts_before_verify', '5'); +INSERT INTO config (setting, value) VALUES ('bcrypt_cost', '10'); +INSERT INTO config (setting, value) VALUES ('cookie_domain', NULL); +INSERT INTO config (setting, value) VALUES ('cookie_forget', '+30 minutes'); +INSERT INTO config (setting, value) VALUES ('cookie_http', '0'); +INSERT INTO config (setting, value) VALUES ('cookie_name', 'authID'); +INSERT INTO config (setting, value) VALUES ('cookie_path', '/'); +INSERT INTO config (setting, value) VALUES ('cookie_remember', '+1 month'); +INSERT INTO config (setting, value) VALUES ('cookie_secure', '0'); +INSERT INTO config (setting, value) VALUES ('emailmessage_suppress_activation', '0'); +INSERT INTO config (setting, value) VALUES ('emailmessage_suppress_reset', '0'); +INSERT INTO config (setting, value) VALUES ('mail_charset','UTF-8'); +INSERT INTO config (setting, value) VALUES ('password_min_score', '3'); +INSERT INTO config (setting, value) VALUES ('site_activation_page', 'activate'); +INSERT INTO config (setting, value) VALUES ('site_email', 'no-reply@phpauth.cuonic.com'); +INSERT INTO config (setting, value) VALUES ('site_key', 'fghuior.)/!/jdUkd8s2!7HVHG7777ghg'); +INSERT INTO config (setting, value) VALUES ('site_name', 'PHPAuth'); +INSERT INTO config (setting, value) VALUES ('site_password_reset_page', 'reset'); +INSERT INTO config (setting, value) VALUES ('site_timezone', 'Europe/Paris'); +INSERT INTO config (setting, value) VALUES ('site_url', 'https://github.com/PHPAuth/PHPAuth'); +INSERT INTO config (setting, value) VALUES ('smtp', '1'); +INSERT INTO config (setting, value) VALUES ('smtp_auth', '0'); +INSERT INTO config (setting, value) VALUES ('smtp_host', 'smtp.example.com'); +INSERT INTO config (setting, value) VALUES ('smtp_password', 'password'); +INSERT INTO config (setting, value) VALUES ('smtp_port', '25'); +INSERT INTO config (setting, value) VALUES ('smtp_security', NULL); +INSERT INTO config (setting, value) VALUES ('smtp_username', 'email@example.com'); +INSERT INTO config (setting, value) VALUES ('table_attempts', 'attempts'); +INSERT INTO config (setting, value) VALUES ('table_requests', 'requests'); +INSERT INTO config (setting, value) VALUES ('table_sessions', 'sessions'); +INSERT INTO config (setting, value) VALUES ('table_users', 'users'); +INSERT INTO config (setting, value) VALUES ('verify_email_max_length', '100'); +INSERT INTO config (setting, value) VALUES ('verify_email_min_length', '5'); +INSERT INTO config (setting, value) VALUES ('verify_email_use_banlist', '1'); +INSERT INTO config (setting, value) VALUES ('verify_password_min_length', '3'); +INSERT INTO config (setting, value) VALUES ('request_key_expiration', '+10 minutes'); + +DROP TABLE attempts; +CREATE TABLE attempts ( + id SERIAL, + ip varchar(39) NOT NULL, + expiredate DATETIME YEAR TO SECOND, + PRIMARY KEY (id) +); + +DROP TABLE requests; +CREATE TABLE requests ( + id SERIAL, + uid integer NOT NULL, + rkey varchar(20) NOT NULL, + expire DATETIME YEAR TO SECOND, + type varchar(20) NOT NULL, + PRIMARY KEY (id) +); + +DROP TABLE sessions; +CREATE TABLE sessions ( + id SERIAL, + uid integer NOT NULL, + hash varchar(40) NOT NULL, + expiredate DATETIME YEAR TO SECOND, + ip varchar(39) NOT NULL, + agent varchar(200) NOT NULL, + cookie_crc varchar(40) NOT NULL, + PRIMARY KEY (id) +); + +DROP TABLE users; +CREATE TABLE users ( + id SERIAL, + email varchar(100) DEFAULT NULL, + password varchar(60) DEFAULT NULL, + isactive smallint DEFAULT 0 NOT NULL, + dt DATETIME YEAR TO SECOND DEFAULT CURRENT YEAR TO SECOND, + PRIMARY KEY (id) +); |