Save last login IP address

Save the IP address used for the last login in the "Users" table. This
makes it a bit easier to create IP ban lists for spammers without
looking at web server logs.

Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
This commit is contained in:
Lukas Fleischer 2013-03-19 14:49:34 +01:00
parent de39a712b0
commit 5660816ea0
3 changed files with 13 additions and 1 deletions

View file

@ -1,6 +1,16 @@
Upgrading
=========
From 2.1.0 to 2.2.0
-------------------
1. Add new "Users" table login IP address column:
----
ALTER TABLE Users
ADD COLUMN LastLoginIPAddress INTEGER UNSIGNED NOT NULL DEFAULT 0;
----
From 2.0.0 to 2.1.0
-------------------

View file

@ -34,6 +34,7 @@ CREATE TABLE Users (
PGPKey VARCHAR(40) NULL DEFAULT NULL,
LastVoted BIGINT UNSIGNED NOT NULL DEFAULT 0,
LastLogin BIGINT UNSIGNED NOT NULL DEFAULT 0,
LastLoginIPAddress INTEGER UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (ID),
UNIQUE (Username),
UNIQUE (Email),

View file

@ -444,7 +444,8 @@ function try_login() {
}
if ($logged_in) {
$q = "UPDATE Users SET LastLogin = UNIX_TIMESTAMP() ";
$q = "UPDATE Users SET LastLogin = UNIX_TIMESTAMP(), ";
$q.= "LastLoginIPAddress = " . $dbh->quote(ip2long($_SERVER['REMOTE_ADDR'])) . " ";
$q.= "WHERE ID = '$userID'";
$dbh->exec($q);