aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/install/schemas/sqlite_schema.sql
diff options
context:
space:
mode:
authorNils Adermann <naderman@naderman.de>2011-06-10 12:02:59 +0200
committerNils Adermann <naderman@naderman.de>2011-06-10 12:18:19 +0200
commit2dee57fd43ebe1cf1f43fb0161cdd5f072eeaa63 (patch)
tree3c50ada87cc79e7488cb68a57d52dd3494d985ed /phpBB/install/schemas/sqlite_schema.sql
parentfc9b12669145f72414eb45bbb73860099c6cecef (diff)
downloadforums-2dee57fd43ebe1cf1f43fb0161cdd5f072eeaa63.tar
forums-2dee57fd43ebe1cf1f43fb0161cdd5f072eeaa63.tar.gz
forums-2dee57fd43ebe1cf1f43fb0161cdd5f072eeaa63.tar.bz2
forums-2dee57fd43ebe1cf1f43fb0161cdd5f072eeaa63.tar.xz
forums-2dee57fd43ebe1cf1f43fb0161cdd5f072eeaa63.zip
[ticket/9992] Adding a limit on login attempts per IP.
A new table was created to save all failed login attempts with corresponding information on username, ip and useragent. By default the limit is 50 login attempts within 6 hours per IP. The limit is relatively high to avoid big problems on sites behind a reverse proxy that don't receive the forwarded-for value as REMOTE_ADDR but see all users as coming from the same IP address. But if these users run into problems a special forwarded-for option is available to limit logins by forwarded-for value instead of ip. PHPBB3-9992
Diffstat (limited to 'phpBB/install/schemas/sqlite_schema.sql')
-rw-r--r--phpBB/install/schemas/sqlite_schema.sql19
1 files changed, 18 insertions, 1 deletions
diff --git a/phpBB/install/schemas/sqlite_schema.sql b/phpBB/install/schemas/sqlite_schema.sql
index 8661bb7578..9668c8d5f1 100644
--- a/phpBB/install/schemas/sqlite_schema.sql
+++ b/phpBB/install/schemas/sqlite_schema.sql
@@ -1,5 +1,5 @@
#
-# $Id$
+# $Id: $
#
BEGIN TRANSACTION;
@@ -357,6 +357,23 @@ CREATE INDEX phpbb_log_topic_id ON phpbb_log (topic_id);
CREATE INDEX phpbb_log_reportee_id ON phpbb_log (reportee_id);
CREATE INDEX phpbb_log_user_id ON phpbb_log (user_id);
+# Table: 'phpbb_login_attempts'
+CREATE TABLE phpbb_login_attempts (
+ attempt_id INTEGER PRIMARY KEY NOT NULL ,
+ attempt_ip varchar(40) NOT NULL DEFAULT '',
+ attempt_browser varchar(150) NOT NULL DEFAULT '',
+ attempt_forwarded_for varchar(255) NOT NULL DEFAULT '',
+ attempt_time INTEGER UNSIGNED NOT NULL DEFAULT '0',
+ user_id INTEGER UNSIGNED NOT NULL DEFAULT '0',
+ username varchar(255) NOT NULL DEFAULT '0',
+ username_clean varchar(255) NOT NULL DEFAULT '0'
+);
+
+CREATE INDEX phpbb_login_attempts_attempt_ip ON phpbb_login_attempts (attempt_ip, attempt_time);
+CREATE INDEX phpbb_login_attempts_attempt_forwarded_for ON phpbb_login_attempts (attempt_forwarded_for, attempt_time);
+CREATE INDEX phpbb_login_attempts_attempt_time ON phpbb_login_attempts (attempt_time);
+CREATE INDEX phpbb_login_attempts_user_id ON phpbb_login_attempts (user_id);
+
# Table: 'phpbb_moderator_cache'
CREATE TABLE phpbb_moderator_cache (
forum_id INTEGER UNSIGNED NOT NULL DEFAULT '0',