summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Auth.php46
-rw-r--r--database_informix.sql85
2 files changed, 101 insertions, 30 deletions
diff --git a/Auth.php b/Auth.php
index d20a707..50ff497 100644
--- a/Auth.php
+++ b/Auth.php
@@ -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)
+);