aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/install/schemas/mssql_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/mssql_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/mssql_schema.sql')
-rw-r--r--phpBB/install/schemas/mssql_schema.sql38
1 files changed, 37 insertions, 1 deletions
diff --git a/phpBB/install/schemas/mssql_schema.sql b/phpBB/install/schemas/mssql_schema.sql
index 0827b14cc2..dbbd144aa0 100644
--- a/phpBB/install/schemas/mssql_schema.sql
+++ b/phpBB/install/schemas/mssql_schema.sql
@@ -1,6 +1,6 @@
/*
- $Id$
+ $Id: $
*/
@@ -650,6 +650,41 @@ GO
/*
+ Table: 'phpbb_login_attempts'
+*/
+CREATE TABLE [phpbb_login_attempts] (
+ [attempt_id] [int] IDENTITY (1, 1) NOT NULL ,
+ [attempt_ip] [varchar] (40) DEFAULT ('') NOT NULL ,
+ [attempt_browser] [varchar] (150) DEFAULT ('') NOT NULL ,
+ [attempt_forwarded_for] [varchar] (255) DEFAULT ('') NOT NULL ,
+ [attempt_time] [int] DEFAULT (0) NOT NULL ,
+ [user_id] [int] DEFAULT (0) NOT NULL ,
+ [username] [varchar] (255) DEFAULT (0) NOT NULL ,
+ [username_clean] [varchar] (255) DEFAULT (0) NOT NULL
+) ON [PRIMARY]
+GO
+
+ALTER TABLE [phpbb_login_attempts] WITH NOCHECK ADD
+ CONSTRAINT [PK_phpbb_login_attempts] PRIMARY KEY CLUSTERED
+ (
+ [attempt_id]
+ ) ON [PRIMARY]
+GO
+
+CREATE INDEX [attempt_ip] ON [phpbb_login_attempts]([attempt_ip], [attempt_time]) ON [PRIMARY]
+GO
+
+CREATE INDEX [attempt_forwarded_for] ON [phpbb_login_attempts]([attempt_forwarded_for], [attempt_time]) ON [PRIMARY]
+GO
+
+CREATE INDEX [attempt_time] ON [phpbb_login_attempts]([attempt_time]) ON [PRIMARY]
+GO
+
+CREATE INDEX [user_id] ON [phpbb_login_attempts]([user_id]) ON [PRIMARY]
+GO
+
+
+/*
Table: 'phpbb_moderator_cache'
*/
CREATE TABLE [phpbb_moderator_cache] (
@@ -1730,3 +1765,4 @@ ALTER TABLE [phpbb_zebra] WITH NOCHECK ADD
) ON [PRIMARY]
GO
+