Limit Login Attempts - Version 1.6.1

Version Description

  • (WordPress 3.0+) An invalid cookie can sometimes get sent multiple times before it gets cleared, resulting in multiple failed attempts or even a lockout from a single invalid cookie. Store the latest failed cookie to make sure we only count it as one failed attempt
  • Define "Text Domain" correctly
  • Include correct Dutch tranlation file. Thanks to Martin1 for noticing. Thanks again to Bjorn Wijers for the translation
  • Updated POT file for this version
  • Tested against WordPress 3.1-RC4
Download this release

Release Info

Developer johanee
Plugin Icon wp plugin Limit Login Attempts
Version 1.6.1
Comparing to
See all releases

Code changes from version 1.6.0 to 1.6.1

limit-login-attempts-nl_NL.po CHANGED
@@ -1,223 +1,223 @@
1
- # Limit Login Attempts Swedish Translation
2
  # Copyright (C) 2009 Johan Eenfeldt
3
  # This file is distributed under the same license as the Wordpress package.
4
  # Johan Eenfeldt <johan.eenfeldt@kostdoktorn.se>, 2009.
5
  #
6
  msgid ""
7
  msgstr ""
8
- "Project-Id-Version: limit-login-attempts 1.2\n"
9
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
10
  "POT-Creation-Date: 2009-01-28 17:17+0000\n"
11
- "PO-Revision-Date: 2009-07-15 13:14+0100\n"
12
- "Last-Translator: Rune G <dev@bloggs.be>\n"
13
- "Language-Team: DigitalHverdag <dev@bloggs.be>\n"
14
  "MIME-Version: 1.0\n"
15
  "Content-Type: text/plain; charset=UTF-8\n"
16
  "Content-Transfer-Encoding: 8bit\n"
17
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
- "X-Poedit-Language: Norwegian Bokmal\n"
19
- "X-Poedit-Country: NORWAY\n"
20
 
21
  #: limit-login-attempts.php:372
22
  #, php-format
23
  msgid "%d hour"
24
  msgid_plural "%d hours"
25
- msgstr[0] "%d time"
26
- msgstr[1] "%d timer"
27
 
28
  #: limit-login-attempts.php:378
29
  #, php-format
30
  msgid "%d minute"
31
  msgid_plural "%d minutes"
32
- msgstr[0] "%d minutt"
33
- msgstr[1] "%d minutter"
34
 
35
  #: limit-login-attempts.php:381
36
  #, php-format
37
  msgid "[%s] Too many failed login attempts"
38
- msgstr "[%s] For mange påloggingsforsøk"
39
 
40
  #: limit-login-attempts.php:383
41
  #, php-format
42
  msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
43
- msgstr "%d påloggingsforsøk (stoppet %d gang(er)) fra IP: %s"
44
 
45
  #: limit-login-attempts.php:387
46
  #, php-format
47
  msgid "Last user attempted: %s"
48
- msgstr "Siste brukernavn som feilet : %s"
49
 
50
  #: limit-login-attempts.php:390
51
  #, php-format
52
  msgid "IP was blocked for %s"
53
- msgstr "IP blokkert i %s"
54
 
55
  #: limit-login-attempts.php:445
56
  msgid "<strong>ERROR</strong>: Too many failed login attempts."
57
- msgstr "<strong>Feil</strong>: For mange påloggingsforsøk."
58
 
59
  #: limit-login-attempts.php:449
60
  msgid "Please try again later."
61
- msgstr "Prøv igjen senere"
62
 
63
  #: limit-login-attempts.php:456
64
  #, php-format
65
  msgid "Please try again in %d hour."
66
  msgid_plural "Please try again in %d hours."
67
- msgstr[0] "Prøv igjen om %d time."
68
- msgstr[1] "Prøv igjen om %d timer."
69
 
70
  #: limit-login-attempts.php:458
71
  #, php-format
72
  msgid "Please try again in %d minute."
73
  msgid_plural "Please try again in %d minutes."
74
- msgstr[0] "Prøv igjen om %d minutt."
75
- msgstr[1] "Prøv igjen om %d minutter."
76
 
77
  #: limit-login-attempts.php:487
78
  #, php-format
79
  msgid "<strong>%d</strong> attempt remaining."
80
  msgid_plural "<strong>%d</strong> attempts remaining."
81
- msgstr[0] "<strong>%d</strong> forsøk gjenstår."
82
- msgstr[1] "<strong>%d</strong> forsøk gjenstår."
83
 
84
  #: limit-login-attempts.php:551
85
  msgid "<strong>ERROR</strong>: Incorrect username or password."
86
- msgstr "<strong>Feil</strong>: Feil brukernavn eller passord."
87
 
88
  #: limit-login-attempts.php:714
89
  msgid "IP|Internet address"
90
- msgstr "IP"
91
 
92
  #: limit-login-attempts.php:714
93
  msgid "Tried to log in as"
94
- msgstr "Prøvde å logge inn som"
95
 
96
  #: limit-login-attempts.php:719
97
  #, php-format
98
  msgid "%d lockout"
99
  msgid_plural "%d lockouts"
100
- msgstr[0] "%d blokkering"
101
- msgstr[1] "%d blokkeringer"
102
 
103
  #: limit-login-attempts.php:743
104
  msgid "Cleared IP log"
105
- msgstr "Nullstill IP loggen"
106
 
107
  #: limit-login-attempts.php:751
108
  msgid "Reset lockout count"
109
- msgstr "Nullstill antall blokkeringer"
110
 
111
  #: limit-login-attempts.php:759
112
  msgid "Cleared current lockouts"
113
- msgstr "Fjernet gjeldende blokkeringer"
114
 
115
  #: limit-login-attempts.php:788
116
  msgid "Options changed"
117
- msgstr "Innstillinger endret"
118
 
119
  #: limit-login-attempts.php:799
120
  msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
121
- msgstr "<strong>NB:</strong> Du bruker WordPress 2.7 eller nyere"
122
 
123
  #: limit-login-attempts.php:815
124
  #, php-format
125
  msgid "It appears the site is reached directly (from your IP: %s)"
126
- msgstr "Det ser ut som om du kan bloggen direkte (fra din IP: %s)"
127
 
128
  #: limit-login-attempts.php:817
129
  #, php-format
130
  msgid "It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)"
131
- msgstr "Det ser ut som om bloggen din er bak en proxy server (proxy IP: %s, din IP: %s)"
132
 
133
  #: limit-login-attempts.php:825
134
  #, php-format
135
  msgid "<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href=\"%s\" title=\"FAQ\">here</a>"
136
- msgstr "<strong>Dine innstillinger kan være feil</strong>. Sjekk at de er korrekte. Mer informasjon <a href=\"%s\" title=\"FAQ\">her</a>"
137
 
138
  #: limit-login-attempts.php:833
139
  msgid "Limit Login Attempts Settings"
140
- msgstr "Limit Login Attempts Innstillinger"
141
 
142
  #: limit-login-attempts.php:834
143
  msgid "Statistics"
144
- msgstr "Statistikk"
145
 
146
  #: limit-login-attempts.php:838
147
  msgid "Total lockouts"
148
- msgstr "Totalt antall blokkeringer"
149
 
150
  #: limit-login-attempts.php:841
151
  msgid "Reset Counter"
152
- msgstr "Nullstill teller"
153
 
154
  #: limit-login-attempts.php:842
155
  #, php-format
156
  msgid "%d lockout since last reset"
157
  msgid_plural "%d lockouts since last reset"
158
- msgstr[0] "%d blokkering siden siste nullstilling"
159
- msgstr[1] "%d blokkeringer siden siste nullstilling"
160
 
161
  #: limit-login-attempts.php:843
162
  msgid "No lockouts yet"
163
- msgstr "Ingen blokkeringer enda"
164
 
165
  #: limit-login-attempts.php:848
166
  msgid "Active lockouts"
167
- msgstr "Aktive blokkeringer"
168
 
169
  #: limit-login-attempts.php:850
170
  msgid "Restore Lockouts"
171
- msgstr "Fjern blokkeringer"
172
 
173
  #: limit-login-attempts.php:851
174
  #, php-format
175
  msgid "%d IP is currently blocked from trying to log in"
176
- msgstr "%d IP står blokkeringslisten"
177
 
178
  #: limit-login-attempts.php:857
179
  msgid "Options"
180
- msgstr "Innstillinger"
181
 
182
  #: limit-login-attempts.php:861
183
  msgid "Lockout"
184
- msgstr "Blokkering"
185
 
186
  #: limit-login-attempts.php:863
187
  msgid "allowed retries"
188
- msgstr "Antall påloggingsforsøk"
189
 
190
  #: limit-login-attempts.php:864
191
  msgid "minutes lockout"
192
- msgstr "minutters blokkering"
193
 
194
  #: limit-login-attempts.php:865
195
  msgid "lockouts increase lockout time to"
196
- msgstr "Blokkeringer øker blokkeringstiden til"
197
 
198
  #: limit-login-attempts.php:865
199
  msgid "hours"
200
- msgstr "timer"
201
 
202
  #: limit-login-attempts.php:866
203
  msgid "hours until retries are reset"
204
- msgstr "timer til nullstilling"
205
 
206
  #: limit-login-attempts.php:870
207
  msgid "Site connection"
208
- msgstr "Blogg forbindelse"
209
 
210
  #: limit-login-attempts.php:876
211
  msgid "Direct connection"
212
- msgstr "Direkte forbindelse"
213
 
214
  #: limit-login-attempts.php:881
215
  msgid "From behind a reversy proxy"
216
- msgstr "Bak en omvendt proxy"
217
 
218
  #: limit-login-attempts.php:887
219
  msgid "Handle cookie login"
220
- msgstr "Behandle pålogginger med cookies"
221
 
222
  #: limit-login-attempts.php:889
223
  msgid "Yes"
@@ -225,39 +225,39 @@ msgstr "Ja"
225
 
226
  #: limit-login-attempts.php:889
227
  msgid "No"
228
- msgstr "Nei"
229
 
230
  #: limit-login-attempts.php:894
231
  msgid "Notify on lockout"
232
- msgstr "Gi melding om blokkering"
233
 
234
  #: limit-login-attempts.php:896
235
  msgid "Log IP"
236
- msgstr "Logg IP"
237
 
238
  #: limit-login-attempts.php:897
239
  msgid "Email to admin after"
240
- msgstr "Send epost til admin etter"
241
 
242
  #: limit-login-attempts.php:897
243
  msgid "lockouts"
244
- msgstr "blokkeringer"
245
 
246
  #: limit-login-attempts.php:902
247
  msgid "Change Options"
248
- msgstr "Endre innstillinger"
249
 
250
  #: limit-login-attempts.php:910
251
  msgid "Lockout log"
252
- msgstr "Blokkerings logg"
253
 
254
  #: limit-login-attempts.php:914
255
  msgid "Clear Log"
256
- msgstr "Nullstill loggen"
257
 
258
  #. Plugin Name of an extension
259
  msgid "Limit Login Attempts"
260
- msgstr "Begrense påloggingsforsøk"
261
 
262
  #. Plugin URI of an extension
263
  msgid "http://devel.kostdoktorn.se/limit-login-attempts"
@@ -265,7 +265,7 @@ msgstr "http://devel.kostdoktorn.se/limit-login-attempts"
265
 
266
  #. Description of an extension
267
  msgid "Limit rate of login attempts, including by way of cookies, for each IP."
268
- msgstr "Begrenser antall påloggingsforsøk, inkludert forsøk med cookies, for alle IPer"
269
 
270
  #. Author of an extension
271
  msgid "Johan Eenfeldt"
1
+ # Limit Login Attempts German Translation
2
  # Copyright (C) 2009 Johan Eenfeldt
3
  # This file is distributed under the same license as the Wordpress package.
4
  # Johan Eenfeldt <johan.eenfeldt@kostdoktorn.se>, 2009.
5
  #
6
  msgid ""
7
  msgstr ""
8
+ "Project-Id-Version: limit-login-attempts 1.3\n"
9
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
10
  "POT-Creation-Date: 2009-01-28 17:17+0000\n"
11
+ "PO-Revision-Date: 2010-03-19 13:52+0100\n"
12
+ "Last-Translator: BjornW <burobjorn@burobjorn.nl>\n"
13
+ "Language-Team: German <michael@skerwiderski.de>\n"
14
  "MIME-Version: 1.0\n"
15
  "Content-Type: text/plain; charset=UTF-8\n"
16
  "Content-Transfer-Encoding: 8bit\n"
17
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
+ "X-Poedit-Language: German\n"
19
+ "X-Poedit-Country: GERMANY\n"
20
 
21
  #: limit-login-attempts.php:372
22
  #, php-format
23
  msgid "%d hour"
24
  msgid_plural "%d hours"
25
+ msgstr[0] "%d uur"
26
+ msgstr[1] "%d uren"
27
 
28
  #: limit-login-attempts.php:378
29
  #, php-format
30
  msgid "%d minute"
31
  msgid_plural "%d minutes"
32
+ msgstr[0] "%d minute"
33
+ msgstr[1] "%d minuten"
34
 
35
  #: limit-login-attempts.php:381
36
  #, php-format
37
  msgid "[%s] Too many failed login attempts"
38
+ msgstr "[%s] Teveel gefaalde login pogingen"
39
 
40
  #: limit-login-attempts.php:383
41
  #, php-format
42
  msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
43
+ msgstr "%d gefaalde login pogingen (%d blokkades) van IP: %s"
44
 
45
  #: limit-login-attempts.php:387
46
  #, php-format
47
  msgid "Last user attempted: %s"
48
+ msgstr "Laatste inlogpoging werd gedaan met de gebruikersnaam: %s"
49
 
50
  #: limit-login-attempts.php:390
51
  #, php-format
52
  msgid "IP was blocked for %s"
53
+ msgstr "IP was geblokkeerd voor %s."
54
 
55
  #: limit-login-attempts.php:445
56
  msgid "<strong>ERROR</strong>: Too many failed login attempts."
57
+ msgstr "<strong>FOUT</strong>: Teveel gefaalde inlogpogingen."
58
 
59
  #: limit-login-attempts.php:449
60
  msgid "Please try again later."
61
+ msgstr "Probeer het later nogmaals"
62
 
63
  #: limit-login-attempts.php:456
64
  #, php-format
65
  msgid "Please try again in %d hour."
66
  msgid_plural "Please try again in %d hours."
67
+ msgstr[0] ".Probeer het over %d uur nogmaals."
68
+ msgstr[1] "Probeer het over %d uren nogmaals."
69
 
70
  #: limit-login-attempts.php:458
71
  #, php-format
72
  msgid "Please try again in %d minute."
73
  msgid_plural "Please try again in %d minutes."
74
+ msgstr[0] "Probeer het over %d minuut nogmaals"
75
+ msgstr[1] "Probeer het over %d minuten nogmaals."
76
 
77
  #: limit-login-attempts.php:487
78
  #, php-format
79
  msgid "<strong>%d</strong> attempt remaining."
80
  msgid_plural "<strong>%d</strong> attempts remaining."
81
+ msgstr[0] "Nog <strong>%d</strong> loginpoging mogelijk."
82
+ msgstr[1] "Nog <strong>%d</strong> loginpogingen mogelijk."
83
 
84
  #: limit-login-attempts.php:551
85
  msgid "<strong>ERROR</strong>: Incorrect username or password."
86
+ msgstr "<strong>FOUT</strong>: Ongeldige gebruikersnaam of wachtwoord."
87
 
88
  #: limit-login-attempts.php:714
89
  msgid "IP|Internet address"
90
+ msgstr "IP|Internet adres"
91
 
92
  #: limit-login-attempts.php:714
93
  msgid "Tried to log in as"
94
+ msgstr "Inlogpoging als"
95
 
96
  #: limit-login-attempts.php:719
97
  #, php-format
98
  msgid "%d lockout"
99
  msgid_plural "%d lockouts"
100
+ msgstr[0] "%d Blokkade"
101
+ msgstr[1] "%d Blokkades"
102
 
103
  #: limit-login-attempts.php:743
104
  msgid "Cleared IP log"
105
+ msgstr "IP log is gewist"
106
 
107
  #: limit-login-attempts.php:751
108
  msgid "Reset lockout count"
109
+ msgstr "Reset blokkades teller"
110
 
111
  #: limit-login-attempts.php:759
112
  msgid "Cleared current lockouts"
113
+ msgstr "Actieve blokkades zijn gewist"
114
 
115
  #: limit-login-attempts.php:788
116
  msgid "Options changed"
117
+ msgstr "Instellingen zijn gewijzigd"
118
 
119
  #: limit-login-attempts.php:799
120
  msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
121
+ msgstr "<strong>NB:</strong> Werkt alleen vanaf Wordpress 2.7 of hogere versie nummers"
122
 
123
  #: limit-login-attempts.php:815
124
  #, php-format
125
  msgid "It appears the site is reached directly (from your IP: %s)"
126
+ msgstr "Het lijkt erop dat de site direct te bereiken is (van uw IP-adres: %s)"
127
 
128
  #: limit-login-attempts.php:817
129
  #, php-format
130
  msgid "It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)"
131
+ msgstr "Het lijkt erop dat de site te bereiken is via een proxy server, (Proxy Server IP adres: %s, Uw IP-adres: %s)"
132
 
133
  #: limit-login-attempts.php:825
134
  #, php-format
135
  msgid "<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href=\"%s\" title=\"FAQ\">here</a>"
136
+ msgstr "<strong>De huidige instelling lijkt ongeldig te zijn</strong>. Pas deze zo aan dat deze wel geldig is, informatie over hoe u dit kunt doen kunt u vinden in de <a href=\"%s\" title=\"FAQ\">FAQ</a> (in het Engels)."
137
 
138
  #: limit-login-attempts.php:833
139
  msgid "Limit Login Attempts Settings"
140
+ msgstr "Limit Login Attempts Instellingen"
141
 
142
  #: limit-login-attempts.php:834
143
  msgid "Statistics"
144
+ msgstr "Statistieken"
145
 
146
  #: limit-login-attempts.php:838
147
  msgid "Total lockouts"
148
+ msgstr "Totaal aantal blokkades"
149
 
150
  #: limit-login-attempts.php:841
151
  msgid "Reset Counter"
152
+ msgstr "Teller resetten"
153
 
154
  #: limit-login-attempts.php:842
155
  #, php-format
156
  msgid "%d lockout since last reset"
157
  msgid_plural "%d lockouts since last reset"
158
+ msgstr[0] "%d Blokkade sinds de laatste reset"
159
+ msgstr[1] "%d Blokkades sinds de laatste reset"
160
 
161
  #: limit-login-attempts.php:843
162
  msgid "No lockouts yet"
163
+ msgstr "Nog geen blokkades actief"
164
 
165
  #: limit-login-attempts.php:848
166
  msgid "Active lockouts"
167
+ msgstr "Actieve blokkades"
168
 
169
  #: limit-login-attempts.php:850
170
  msgid "Restore Lockouts"
171
+ msgstr "Blokkades opheffen"
172
 
173
  #: limit-login-attempts.php:851
174
  #, php-format
175
  msgid "%d IP is currently blocked from trying to log in"
176
+ msgstr "%d IP is op dit moment voor inloggen geblokkeerd"
177
 
178
  #: limit-login-attempts.php:857
179
  msgid "Options"
180
+ msgstr "Instellingen"
181
 
182
  #: limit-login-attempts.php:861
183
  msgid "Lockout"
184
+ msgstr "Blokkade"
185
 
186
  #: limit-login-attempts.php:863
187
  msgid "allowed retries"
188
+ msgstr "mogelijke inlogpogingen"
189
 
190
  #: limit-login-attempts.php:864
191
  msgid "minutes lockout"
192
+ msgstr "Aantal minuten geblokkeerd na een gefaalde inlogpoging"
193
 
194
  #: limit-login-attempts.php:865
195
  msgid "lockouts increase lockout time to"
196
+ msgstr "Blokkades verhogen de blokkade tijd naar"
197
 
198
  #: limit-login-attempts.php:865
199
  msgid "hours"
200
+ msgstr "uren"
201
 
202
  #: limit-login-attempts.php:866
203
  msgid "hours until retries are reset"
204
+ msgstr "aantal uren voordat het aantal ondernomen pogingen wordt gereset"
205
 
206
  #: limit-login-attempts.php:870
207
  msgid "Site connection"
208
+ msgstr "Verbinding naar deze website"
209
 
210
  #: limit-login-attempts.php:876
211
  msgid "Direct connection"
212
+ msgstr "Directe verbinding"
213
 
214
  #: limit-login-attempts.php:881
215
  msgid "From behind a reversy proxy"
216
+ msgstr "Via een reverse-proxy"
217
 
218
  #: limit-login-attempts.php:887
219
  msgid "Handle cookie login"
220
+ msgstr "Omgaan met cookie loginverzoeken"
221
 
222
  #: limit-login-attempts.php:889
223
  msgid "Yes"
225
 
226
  #: limit-login-attempts.php:889
227
  msgid "No"
228
+ msgstr "Nee"
229
 
230
  #: limit-login-attempts.php:894
231
  msgid "Notify on lockout"
232
+ msgstr "Waarschuwen in het geval van een blokkade"
233
 
234
  #: limit-login-attempts.php:896
235
  msgid "Log IP"
236
+ msgstr "Log IP adres"
237
 
238
  #: limit-login-attempts.php:897
239
  msgid "Email to admin after"
240
+ msgstr "Email de beheerder na"
241
 
242
  #: limit-login-attempts.php:897
243
  msgid "lockouts"
244
+ msgstr "Blokkades"
245
 
246
  #: limit-login-attempts.php:902
247
  msgid "Change Options"
248
+ msgstr "Instellingen aanpassen"
249
 
250
  #: limit-login-attempts.php:910
251
  msgid "Lockout log"
252
+ msgstr "Log van blokkades"
253
 
254
  #: limit-login-attempts.php:914
255
  msgid "Clear Log"
256
+ msgstr "Log wissen"
257
 
258
  #. Plugin Name of an extension
259
  msgid "Limit Login Attempts"
260
+ msgstr "Limit Login Attempts"
261
 
262
  #. Plugin URI of an extension
263
  msgid "http://devel.kostdoktorn.se/limit-login-attempts"
265
 
266
  #. Description of an extension
267
  msgid "Limit rate of login attempts, including by way of cookies, for each IP."
268
+ msgstr "Beperkt het aantal inlogpogingen, inclusief bij het gebruik van cookies, voor elk IP adres."
269
 
270
  #. Author of an extension
271
  msgid "Johan Eenfeldt"
limit-login-attempts-sv_SE.mo CHANGED
Binary file
limit-login-attempts-sv_SE.po CHANGED
@@ -7,8 +7,8 @@ msgid ""
7
  msgstr ""
8
  "Project-Id-Version: limit-login-attempts 1.2\n"
9
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
10
- "POT-Creation-Date: 2009-01-28 17:17+0000\n"
11
- "PO-Revision-Date: 2009-01-28 18:25+0100\n"
12
  "Last-Translator: Johan Eenfeldt <johan.eenfeldt@kostdoktorn.se>\n"
13
  "Language-Team: Swedish\n"
14
  "MIME-Version: 1.0\n"
@@ -16,260 +16,247 @@ msgstr ""
16
  "Content-Transfer-Encoding: 8bit\n"
17
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
 
19
- #: limit-login-attempts.php:372
20
- #, php-format
21
  msgid "%d hour"
22
  msgid_plural "%d hours"
23
  msgstr[0] "%d timme"
24
  msgstr[1] "%d timmar"
25
 
26
- #: limit-login-attempts.php:378
27
- #, php-format
28
  msgid "%d minute"
29
  msgid_plural "%d minutes"
30
  msgstr[0] "%d minut"
31
  msgstr[1] "%d minuter"
32
 
33
- #: limit-login-attempts.php:381
34
- #, php-format
35
  msgid "[%s] Too many failed login attempts"
36
  msgstr "[%s] För många misslyckade inloggningar"
37
 
38
- #: limit-login-attempts.php:383
39
- #, php-format
40
  msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
41
  msgstr "%d misslyckade inloggningar (blockad %d gång(er)) från IP: %s"
42
 
43
- #: limit-login-attempts.php:387
44
- #, php-format
45
  msgid "Last user attempted: %s"
46
  msgstr "Misslyckades senast med användare : %s"
47
 
48
- #: limit-login-attempts.php:390
49
- #, php-format
50
  msgid "IP was blocked for %s"
51
  msgstr "IP blockerades i %s"
52
 
53
- #: limit-login-attempts.php:445
54
  msgid "<strong>ERROR</strong>: Too many failed login attempts."
55
  msgstr "<strong>Fel</strong>: F&ouml;r m&aring;nga misslyckade f&ouml;rs&ouml;k."
56
 
57
- #: limit-login-attempts.php:449
58
  msgid "Please try again later."
59
  msgstr "F&ouml;rs&ouml;k igen senare."
60
 
61
- #: limit-login-attempts.php:456
62
- #, php-format
63
  msgid "Please try again in %d hour."
64
  msgid_plural "Please try again in %d hours."
65
  msgstr[0] "F&ouml;rs&ouml;k igen om %d timme."
66
  msgstr[1] "F&ouml;rs&ouml;k igen om %d timmar."
67
 
68
- #: limit-login-attempts.php:458
69
- #, php-format
70
  msgid "Please try again in %d minute."
71
  msgid_plural "Please try again in %d minutes."
72
  msgstr[0] "F&ouml;rs&ouml;k igen om %d minut."
73
  msgstr[1] "F&ouml;rs&ouml;k igen om %d minuter."
74
 
75
- #: limit-login-attempts.php:487
76
- #, php-format
77
  msgid "<strong>%d</strong> attempt remaining."
78
  msgid_plural "<strong>%d</strong> attempts remaining."
79
  msgstr[0] "<strong>%d</strong> f&ouml;rs&ouml;k &aring;terst&aring;r."
80
  msgstr[1] "<strong>%d</strong> f&ouml;rs&ouml;k &aring;terst&aring;r."
81
 
82
- #: limit-login-attempts.php:551
83
  msgid "<strong>ERROR</strong>: Incorrect username or password."
84
  msgstr "<strong>Fel</strong>: Felaktigt anv&auml;ndarnamn eller l&ouml;senord."
85
 
86
- #: limit-login-attempts.php:714
87
- msgid "IP|Internet address"
 
88
  msgstr "IP"
89
 
90
- #: limit-login-attempts.php:714
91
  msgid "Tried to log in as"
92
  msgstr "F&ouml;rs&ouml;kte logga in som"
93
 
94
- #: limit-login-attempts.php:719
95
- #, php-format
96
  msgid "%d lockout"
97
  msgid_plural "%d lockouts"
98
  msgstr[0] "%d blockering"
99
  msgstr[1] "%d blockeringar"
100
 
101
- #: limit-login-attempts.php:743
102
  msgid "Cleared IP log"
103
  msgstr "Rensade IP loggen"
104
 
105
- #: limit-login-attempts.php:751
106
  msgid "Reset lockout count"
107
  msgstr "Nollst&auml;llde r&auml;knaren f&ouml;r blockeringar"
108
 
109
- #: limit-login-attempts.php:759
110
  msgid "Cleared current lockouts"
111
  msgstr "Tog bort aktuella blockeringar"
112
 
113
- #: limit-login-attempts.php:788
114
  msgid "Options changed"
115
  msgstr "Inst&auml;llningar &auml;ndrade"
116
 
117
- #: limit-login-attempts.php:799
118
- msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
119
- msgstr "<strong>OBS:</strong> Fungerar endast i WordPress 2.7 eller senare"
120
-
121
- #: limit-login-attempts.php:815
122
- #, php-format
123
  msgid "It appears the site is reached directly (from your IP: %s)"
124
  msgstr "Sajten tycks vara direktansluten (från din IP: %s)"
125
 
126
- #: limit-login-attempts.php:817
127
- #, php-format
128
  msgid "It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)"
129
  msgstr "Sajten tycks ansluta genom en proxy server (proxy IP: %s, din IP: %s)"
130
 
131
- #: limit-login-attempts.php:825
132
- #, php-format
133
  msgid "<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href=\"%s\" title=\"FAQ\">here</a>"
134
  msgstr "<strong>Nuvarande inställningar kan vara fel</strong>. Säkerställ att de är korrekta. Mer information kan hittas <a href=\"%s\" title=\"FAQ\">här</a>"
135
 
136
- #: limit-login-attempts.php:833
137
  msgid "Limit Login Attempts Settings"
138
  msgstr "Limit Login Attempts Inst&auml;llningar"
139
 
140
- #: limit-login-attempts.php:834
141
  msgid "Statistics"
142
  msgstr "Statistik"
143
 
144
- #: limit-login-attempts.php:838
145
  msgid "Total lockouts"
146
  msgstr "Antal blockeringar"
147
 
148
- #: limit-login-attempts.php:841
149
  msgid "Reset Counter"
150
  msgstr "Nollst&auml;ll r&auml;knare"
151
 
152
- #: limit-login-attempts.php:842
153
- #, php-format
154
  msgid "%d lockout since last reset"
155
  msgid_plural "%d lockouts since last reset"
156
  msgstr[0] "%d blockering sedan r&auml;knaren nollst&auml;lldes"
157
  msgstr[1] "%d blockeringar sedan r&auml;knaren nollst&auml;lldes"
158
 
159
- #: limit-login-attempts.php:843
160
  msgid "No lockouts yet"
161
  msgstr "Inga blockeringar har skett &auml;nnu"
162
 
163
- #: limit-login-attempts.php:848
164
  msgid "Active lockouts"
165
  msgstr "Aktiva blockeringar"
166
 
167
- #: limit-login-attempts.php:850
168
  msgid "Restore Lockouts"
169
  msgstr "Ta bort blockeringar"
170
 
171
- #: limit-login-attempts.php:851
172
- #, php-format
173
  msgid "%d IP is currently blocked from trying to log in"
174
  msgstr "%d IP &auml;r f&ouml;r n&auml;rvarande blockerade fr&aring;n att logga in"
175
 
176
- #: limit-login-attempts.php:857
177
  msgid "Options"
178
  msgstr "Inst&auml;llningar"
179
 
180
- #: limit-login-attempts.php:861
181
  msgid "Lockout"
182
  msgstr "Blockering"
183
 
184
- #: limit-login-attempts.php:863
185
  msgid "allowed retries"
186
  msgstr "till&aring;tna misslyckanden"
187
 
188
- #: limit-login-attempts.php:864
189
  msgid "minutes lockout"
190
  msgstr "minuters blockering"
191
 
192
- #: limit-login-attempts.php:865
193
  msgid "lockouts increase lockout time to"
194
  msgstr "blockeringar &ouml;kar tiden till"
195
 
196
- #: limit-login-attempts.php:865
197
  msgid "hours"
198
  msgstr "timmar"
199
 
200
- #: limit-login-attempts.php:866
201
  msgid "hours until retries are reset"
202
  msgstr "timmar tills misslyckanden nollst&auml;lls"
203
 
204
- #: limit-login-attempts.php:870
205
  msgid "Site connection"
206
  msgstr "Sajten ansluter"
207
 
208
- #: limit-login-attempts.php:876
209
  msgid "Direct connection"
210
  msgstr "Direktansluten"
211
 
212
- #: limit-login-attempts.php:881
213
  msgid "From behind a reversy proxy"
214
  msgstr "Bakom en reverse proxy"
215
 
216
- #: limit-login-attempts.php:887
217
  msgid "Handle cookie login"
218
  msgstr "Hantera inloggning med kakor"
219
 
220
- #: limit-login-attempts.php:889
221
  msgid "Yes"
222
  msgstr "Ja"
223
 
224
- #: limit-login-attempts.php:889
225
  msgid "No"
226
  msgstr "Nej"
227
 
228
- #: limit-login-attempts.php:894
229
  msgid "Notify on lockout"
230
  msgstr "Notifiera om blockering"
231
 
232
- #: limit-login-attempts.php:896
233
  msgid "Log IP"
234
  msgstr "Logga IP"
235
 
236
- #: limit-login-attempts.php:897
237
  msgid "Email to admin after"
238
  msgstr "E-post till administrat&ouml;r efter"
239
 
240
- #: limit-login-attempts.php:897
241
  msgid "lockouts"
242
  msgstr "blockeringar"
243
 
244
- #: limit-login-attempts.php:902
245
  msgid "Change Options"
246
  msgstr "&Auml;ndra Inst&auml;llningar"
247
 
248
- #: limit-login-attempts.php:910
249
  msgid "Lockout log"
250
  msgstr "Log &ouml;ver blockeringar"
251
 
252
- #: limit-login-attempts.php:914
253
  msgid "Clear Log"
254
  msgstr "Rensa Log"
255
 
256
- #. Plugin Name of an extension
257
  msgid "Limit Login Attempts"
258
  msgstr "Limit Login Attempts"
259
 
260
- #. Plugin URI of an extension
261
  msgid "http://devel.kostdoktorn.se/limit-login-attempts"
262
  msgstr "http://devel.kostdoktorn.se/limit-login-attempts"
263
 
264
- #. Description of an extension
265
  msgid "Limit rate of login attempts, including by way of cookies, for each IP."
266
  msgstr "Limit rate of login attempts, including by way of cookies, for each IP."
267
 
268
- #. Author of an extension
269
  msgid "Johan Eenfeldt"
270
  msgstr "Johan Eenfeldt"
271
 
272
- #. Author URI of an extension
273
  msgid "http://devel.kostdoktorn.se"
274
  msgstr "http://devel.kostdoktorn.se"
275
 
 
 
 
 
 
7
  msgstr ""
8
  "Project-Id-Version: limit-login-attempts 1.2\n"
9
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
10
+ "POT-Creation-Date: 2011-02-17 15:08:09+00:00\n"
11
+ "PO-Revision-Date: 2011-02-17 16:15+0100\n"
12
  "Last-Translator: Johan Eenfeldt <johan.eenfeldt@kostdoktorn.se>\n"
13
  "Language-Team: Swedish\n"
14
  "MIME-Version: 1.0\n"
16
  "Content-Transfer-Encoding: 8bit\n"
17
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
 
19
+ #: limit-login-attempts.php:474
 
20
  msgid "%d hour"
21
  msgid_plural "%d hours"
22
  msgstr[0] "%d timme"
23
  msgstr[1] "%d timmar"
24
 
25
+ #: limit-login-attempts.php:480
 
26
  msgid "%d minute"
27
  msgid_plural "%d minutes"
28
  msgstr[0] "%d minut"
29
  msgstr[1] "%d minuter"
30
 
31
+ #: limit-login-attempts.php:485
 
32
  msgid "[%s] Too many failed login attempts"
33
  msgstr "[%s] För många misslyckade inloggningar"
34
 
35
+ #: limit-login-attempts.php:487
 
36
  msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
37
  msgstr "%d misslyckade inloggningar (blockad %d gång(er)) från IP: %s"
38
 
39
+ #: limit-login-attempts.php:491
 
40
  msgid "Last user attempted: %s"
41
  msgstr "Misslyckades senast med användare : %s"
42
 
43
+ #: limit-login-attempts.php:494
 
44
  msgid "IP was blocked for %s"
45
  msgstr "IP blockerades i %s"
46
 
47
+ #: limit-login-attempts.php:551
48
  msgid "<strong>ERROR</strong>: Too many failed login attempts."
49
  msgstr "<strong>Fel</strong>: F&ouml;r m&aring;nga misslyckade f&ouml;rs&ouml;k."
50
 
51
+ #: limit-login-attempts.php:555
52
  msgid "Please try again later."
53
  msgstr "F&ouml;rs&ouml;k igen senare."
54
 
55
+ #: limit-login-attempts.php:562
 
56
  msgid "Please try again in %d hour."
57
  msgid_plural "Please try again in %d hours."
58
  msgstr[0] "F&ouml;rs&ouml;k igen om %d timme."
59
  msgstr[1] "F&ouml;rs&ouml;k igen om %d timmar."
60
 
61
+ #: limit-login-attempts.php:564
 
62
  msgid "Please try again in %d minute."
63
  msgid_plural "Please try again in %d minutes."
64
  msgstr[0] "F&ouml;rs&ouml;k igen om %d minut."
65
  msgstr[1] "F&ouml;rs&ouml;k igen om %d minuter."
66
 
67
+ #: limit-login-attempts.php:593
 
68
  msgid "<strong>%d</strong> attempt remaining."
69
  msgid_plural "<strong>%d</strong> attempts remaining."
70
  msgstr[0] "<strong>%d</strong> f&ouml;rs&ouml;k &aring;terst&aring;r."
71
  msgstr[1] "<strong>%d</strong> f&ouml;rs&ouml;k &aring;terst&aring;r."
72
 
73
+ #: limit-login-attempts.php:658
74
  msgid "<strong>ERROR</strong>: Incorrect username or password."
75
  msgstr "<strong>Fel</strong>: Felaktigt anv&auml;ndarnamn eller l&ouml;senord."
76
 
77
+ #: limit-login-attempts.php:826
78
+ msgctxt "Internet address"
79
+ msgid "IP"
80
  msgstr "IP"
81
 
82
+ #: limit-login-attempts.php:826
83
  msgid "Tried to log in as"
84
  msgstr "F&ouml;rs&ouml;kte logga in som"
85
 
86
+ #: limit-login-attempts.php:831
 
87
  msgid "%d lockout"
88
  msgid_plural "%d lockouts"
89
  msgstr[0] "%d blockering"
90
  msgstr[1] "%d blockeringar"
91
 
92
+ #: limit-login-attempts.php:860
93
  msgid "Cleared IP log"
94
  msgstr "Rensade IP loggen"
95
 
96
+ #: limit-login-attempts.php:868
97
  msgid "Reset lockout count"
98
  msgstr "Nollst&auml;llde r&auml;knaren f&ouml;r blockeringar"
99
 
100
+ #: limit-login-attempts.php:876
101
  msgid "Cleared current lockouts"
102
  msgstr "Tog bort aktuella blockeringar"
103
 
104
+ #: limit-login-attempts.php:905
105
  msgid "Options changed"
106
  msgstr "Inst&auml;llningar &auml;ndrade"
107
 
108
+ #: limit-login-attempts.php:923
 
 
 
 
 
109
  msgid "It appears the site is reached directly (from your IP: %s)"
110
  msgstr "Sajten tycks vara direktansluten (från din IP: %s)"
111
 
112
+ #: limit-login-attempts.php:925
 
113
  msgid "It appears the site is reached through a proxy server (proxy IP: %s, your IP: %s)"
114
  msgstr "Sajten tycks ansluta genom en proxy server (proxy IP: %s, din IP: %s)"
115
 
116
+ #: limit-login-attempts.php:933
 
117
  msgid "<strong>Current setting appears to be invalid</strong>. Please make sure it is correct. Further information can be found <a href=\"%s\" title=\"FAQ\">here</a>"
118
  msgstr "<strong>Nuvarande inställningar kan vara fel</strong>. Säkerställ att de är korrekta. Mer information kan hittas <a href=\"%s\" title=\"FAQ\">här</a>"
119
 
120
+ #: limit-login-attempts.php:941
121
  msgid "Limit Login Attempts Settings"
122
  msgstr "Limit Login Attempts Inst&auml;llningar"
123
 
124
+ #: limit-login-attempts.php:942
125
  msgid "Statistics"
126
  msgstr "Statistik"
127
 
128
+ #: limit-login-attempts.php:947
129
  msgid "Total lockouts"
130
  msgstr "Antal blockeringar"
131
 
132
+ #: limit-login-attempts.php:950
133
  msgid "Reset Counter"
134
  msgstr "Nollst&auml;ll r&auml;knare"
135
 
136
+ #: limit-login-attempts.php:951
 
137
  msgid "%d lockout since last reset"
138
  msgid_plural "%d lockouts since last reset"
139
  msgstr[0] "%d blockering sedan r&auml;knaren nollst&auml;lldes"
140
  msgstr[1] "%d blockeringar sedan r&auml;knaren nollst&auml;lldes"
141
 
142
+ #: limit-login-attempts.php:952
143
  msgid "No lockouts yet"
144
  msgstr "Inga blockeringar har skett &auml;nnu"
145
 
146
+ #: limit-login-attempts.php:957
147
  msgid "Active lockouts"
148
  msgstr "Aktiva blockeringar"
149
 
150
+ #: limit-login-attempts.php:959
151
  msgid "Restore Lockouts"
152
  msgstr "Ta bort blockeringar"
153
 
154
+ #: limit-login-attempts.php:960
 
155
  msgid "%d IP is currently blocked from trying to log in"
156
  msgstr "%d IP &auml;r f&ouml;r n&auml;rvarande blockerade fr&aring;n att logga in"
157
 
158
+ #: limit-login-attempts.php:966
159
  msgid "Options"
160
  msgstr "Inst&auml;llningar"
161
 
162
+ #: limit-login-attempts.php:971
163
  msgid "Lockout"
164
  msgstr "Blockering"
165
 
166
+ #: limit-login-attempts.php:973
167
  msgid "allowed retries"
168
  msgstr "till&aring;tna misslyckanden"
169
 
170
+ #: limit-login-attempts.php:974
171
  msgid "minutes lockout"
172
  msgstr "minuters blockering"
173
 
174
+ #: limit-login-attempts.php:975
175
  msgid "lockouts increase lockout time to"
176
  msgstr "blockeringar &ouml;kar tiden till"
177
 
178
+ #: limit-login-attempts.php:975
179
  msgid "hours"
180
  msgstr "timmar"
181
 
182
+ #: limit-login-attempts.php:976
183
  msgid "hours until retries are reset"
184
  msgstr "timmar tills misslyckanden nollst&auml;lls"
185
 
186
+ #: limit-login-attempts.php:980
187
  msgid "Site connection"
188
  msgstr "Sajten ansluter"
189
 
190
+ #: limit-login-attempts.php:986
191
  msgid "Direct connection"
192
  msgstr "Direktansluten"
193
 
194
+ #: limit-login-attempts.php:991
195
  msgid "From behind a reversy proxy"
196
  msgstr "Bakom en reverse proxy"
197
 
198
+ #: limit-login-attempts.php:997
199
  msgid "Handle cookie login"
200
  msgstr "Hantera inloggning med kakor"
201
 
202
+ #: limit-login-attempts.php:999
203
  msgid "Yes"
204
  msgstr "Ja"
205
 
206
+ #: limit-login-attempts.php:999
207
  msgid "No"
208
  msgstr "Nej"
209
 
210
+ #: limit-login-attempts.php:1003
211
  msgid "Notify on lockout"
212
  msgstr "Notifiera om blockering"
213
 
214
+ #: limit-login-attempts.php:1005
215
  msgid "Log IP"
216
  msgstr "Logga IP"
217
 
218
+ #: limit-login-attempts.php:1006
219
  msgid "Email to admin after"
220
  msgstr "E-post till administrat&ouml;r efter"
221
 
222
+ #: limit-login-attempts.php:1006
223
  msgid "lockouts"
224
  msgstr "blockeringar"
225
 
226
+ #: limit-login-attempts.php:1011
227
  msgid "Change Options"
228
  msgstr "&Auml;ndra Inst&auml;llningar"
229
 
230
+ #: limit-login-attempts.php:1019
231
  msgid "Lockout log"
232
  msgstr "Log &ouml;ver blockeringar"
233
 
234
+ #: limit-login-attempts.php:1024
235
  msgid "Clear Log"
236
  msgstr "Rensa Log"
237
 
238
+ #. Plugin Name of the plugin/theme
239
  msgid "Limit Login Attempts"
240
  msgstr "Limit Login Attempts"
241
 
242
+ #. Plugin URI of the plugin/theme
243
  msgid "http://devel.kostdoktorn.se/limit-login-attempts"
244
  msgstr "http://devel.kostdoktorn.se/limit-login-attempts"
245
 
246
+ #. Description of the plugin/theme
247
  msgid "Limit rate of login attempts, including by way of cookies, for each IP."
248
  msgstr "Limit rate of login attempts, including by way of cookies, for each IP."
249
 
250
+ #. Author of the plugin/theme
251
  msgid "Johan Eenfeldt"
252
  msgstr "Johan Eenfeldt"
253
 
254
+ #. Author URI of the plugin/theme
255
  msgid "http://devel.kostdoktorn.se"
256
  msgstr "http://devel.kostdoktorn.se"
257
 
258
+ #~ msgid "IP|Internet address"
259
+ #~ msgstr "IP"
260
+ #~ msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
261
+ #~ msgstr "<strong>OBS:</strong> Fungerar endast i WordPress 2.7 eller senare"
262
+
limit-login-attempts.php CHANGED
@@ -5,7 +5,8 @@
5
  Description: Limit rate of login attempts, including by way of cookies, for each IP.
6
  Author: Johan Eenfeldt
7
  Author URI: http://devel.kostdoktorn.se
8
- Version: 1.6.0
 
9
 
10
  Copyright 2008 - 2011 Johan Eenfeldt
11
 
@@ -102,8 +103,16 @@ function limit_login_setup() {
102
  add_action('wp_login_failed', 'limit_login_failed');
103
  if (limit_login_option('cookies')) {
104
  add_action('plugins_loaded', 'limit_login_handle_cookies', 99999);
105
- add_action('auth_cookie_bad_hash', 'limit_login_failed_cookie');
106
  add_action('auth_cookie_bad_username', 'limit_login_failed_cookie');
 
 
 
 
 
 
 
 
 
107
  }
108
  add_filter('wp_authenticate_user', 'limit_login_wp_authenticate_user', 99999, 2);
109
  add_filter('shake_error_codes', 'limit_login_failure_shake');
@@ -212,13 +221,89 @@ function limit_login_handle_cookies() {
212
  }
213
 
214
 
215
- /* Action: failed cookie login wrapper for limit_login_failed() */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
216
  function limit_login_failed_cookie($cookie_elements) {
217
  limit_login_clear_auth_cookie();
218
 
 
 
 
 
219
  limit_login_failed($cookie_elements['username']);
220
  }
221
 
 
222
  /* Make sure auth cookie really get cleared (for this session too) */
223
  function limit_login_clear_auth_cookie() {
224
  wp_clear_auth_cookie();
5
  Description: Limit rate of login attempts, including by way of cookies, for each IP.
6
  Author: Johan Eenfeldt
7
  Author URI: http://devel.kostdoktorn.se
8
+ Text Domain: limit-login-attempts
9
+ Version: 1.6.1
10
 
11
  Copyright 2008 - 2011 Johan Eenfeldt
12
 
103
  add_action('wp_login_failed', 'limit_login_failed');
104
  if (limit_login_option('cookies')) {
105
  add_action('plugins_loaded', 'limit_login_handle_cookies', 99999);
 
106
  add_action('auth_cookie_bad_username', 'limit_login_failed_cookie');
107
+
108
+ global $wp_version;
109
+
110
+ if (version_compare($wp_version, '3.0', '>=')) {
111
+ add_action('auth_cookie_bad_hash', 'limit_login_failed_cookie_hash');
112
+ add_action('auth_cookie_valid', 'limit_login_valid_cookie', 10, 2);
113
+ } else {
114
+ add_action('auth_cookie_bad_hash', 'limit_login_failed_cookie');
115
+ }
116
  }
117
  add_filter('wp_authenticate_user', 'limit_login_wp_authenticate_user', 99999, 2);
118
  add_filter('shake_error_codes', 'limit_login_failure_shake');
221
  }
222
 
223
 
224
+ /*
225
+ * Action: failed cookie login hash
226
+ *
227
+ * Make sure same invalid cookie doesn't get counted more than once.
228
+ *
229
+ * Requires WordPress version 3.0.0, previous versions use limit_login_failed_cookie()
230
+ */
231
+ function limit_login_failed_cookie_hash($cookie_elements) {
232
+ limit_login_clear_auth_cookie();
233
+
234
+ /*
235
+ * Under some conditions an invalid auth cookie will be used multiple
236
+ * times, which results in multiple failed attempts from that one
237
+ * cookie.
238
+ *
239
+ * Unfortunately I've not been able to replicate this consistently and
240
+ * thus have not been able to make sure what the exact cause is.
241
+ *
242
+ * Probably it is because a reload of for example the admin dashboard
243
+ * might result in multiple requests from the browser before the invalid
244
+ * cookie can be cleard.
245
+ *
246
+ * Handle this by only counting the first attempt when the exact same
247
+ * cookie is attempted for a user.
248
+ */
249
+
250
+ extract($cookie_elements, EXTR_OVERWRITE);
251
+
252
+ // Check if cookie is for a valid user
253
+ $user = get_userdatabylogin($username);
254
+ if (!$user) {
255
+ // "shouldn't happen" for this action
256
+ limit_login_failed($username);
257
+ return;
258
+ }
259
+
260
+ $previous_cookie = get_user_meta($user->ID, 'limit_login_previous_cookie', true);
261
+ if ($previous_cookie && $previous_cookie == $cookie_elements) {
262
+ // Identical cookies, ignore this attempt
263
+ return;
264
+ }
265
+
266
+ // Store cookie
267
+ if ($previous_cookie)
268
+ update_user_meta($user->ID, 'limit_login_previous_cookie', $cookie_elements);
269
+ else
270
+ add_user_meta($user->ID, 'limit_login_previous_cookie', $cookie_elements, true);
271
+
272
+ limit_login_failed($username);
273
+ }
274
+
275
+
276
+ /*
277
+ * Action: successful cookie login
278
+ *
279
+ * Clear any stored user_meta.
280
+ *
281
+ * Requires WordPress version 3.0.0, not used in previous versions
282
+ */
283
+ function limit_login_valid_cookie($cookie_elements, $user) {
284
+ /*
285
+ * As all meta values get cached on user load this should not require
286
+ * any extra work for the common case of no stored value.
287
+ */
288
+
289
+ if (get_user_meta($user->ID, 'limit_login_previous_cookie')) {
290
+ delete_user_meta($user->ID, 'limit_login_previous_cookie');
291
+ }
292
+ }
293
+
294
+
295
+ /* Action: failed cookie login (calls limit_login_failed()) */
296
  function limit_login_failed_cookie($cookie_elements) {
297
  limit_login_clear_auth_cookie();
298
 
299
+ /*
300
+ * Invalid username gets counted every time.
301
+ */
302
+
303
  limit_login_failed($cookie_elements['username']);
304
  }
305
 
306
+
307
  /* Make sure auth cookie really get cleared (for this session too) */
308
  function limit_login_clear_auth_cookie() {
309
  wp_clear_auth_cookie();
limit-login-attempts.pot CHANGED
@@ -1,282 +1,257 @@
1
- # SOME DESCRIPTIVE TITLE.
2
- # Copyright (C) YEAR Johan Eenfeldt
3
- # This file is distributed under the same license as the PACKAGE package.
4
- # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
- #
6
- #, fuzzy
7
  msgid ""
8
  msgstr ""
9
- "Project-Id-Version: PACKAGE VERSION\n"
10
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
11
- "POT-Creation-Date: 2009-01-28 17:17+0000\n"
12
- "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
- "Language-Team: LANGUAGE <LL@li.org>\n"
15
  "MIME-Version: 1.0\n"
16
- "Content-Type: text/plain; charset=CHARSET\n"
17
  "Content-Transfer-Encoding: 8bit\n"
18
- "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
 
19
 
20
- #: limit-login-attempts.php:372
21
- #, php-format
22
  msgid "%d hour"
23
  msgid_plural "%d hours"
24
  msgstr[0] ""
25
  msgstr[1] ""
26
 
27
- #: limit-login-attempts.php:378
28
- #, php-format
29
  msgid "%d minute"
30
  msgid_plural "%d minutes"
31
  msgstr[0] ""
32
  msgstr[1] ""
33
 
34
- #: limit-login-attempts.php:381
35
- #, php-format
36
  msgid "[%s] Too many failed login attempts"
37
  msgstr ""
38
 
39
- #: limit-login-attempts.php:383
40
- #, php-format
41
- msgid ""
42
- "%d failed login attempts (%d lockout(s)) from IP: %s"
43
  msgstr ""
44
 
45
- #: limit-login-attempts.php:387
46
- #, php-format
47
- msgid ""
48
- "Last user attempted: %s"
49
  msgstr ""
50
 
51
- #: limit-login-attempts.php:390
52
- #, php-format
53
  msgid "IP was blocked for %s"
54
  msgstr ""
55
 
56
- #: limit-login-attempts.php:445
57
  msgid "<strong>ERROR</strong>: Too many failed login attempts."
58
  msgstr ""
59
 
60
- #: limit-login-attempts.php:449
61
  msgid "Please try again later."
62
  msgstr ""
63
 
64
- #: limit-login-attempts.php:456
65
- #, php-format
66
  msgid "Please try again in %d hour."
67
  msgid_plural "Please try again in %d hours."
68
  msgstr[0] ""
69
  msgstr[1] ""
70
 
71
- #: limit-login-attempts.php:458
72
- #, php-format
73
  msgid "Please try again in %d minute."
74
  msgid_plural "Please try again in %d minutes."
75
  msgstr[0] ""
76
  msgstr[1] ""
77
 
78
- #: limit-login-attempts.php:487
79
- #, php-format
80
  msgid "<strong>%d</strong> attempt remaining."
81
  msgid_plural "<strong>%d</strong> attempts remaining."
82
  msgstr[0] ""
83
  msgstr[1] ""
84
 
85
- #: limit-login-attempts.php:551
86
  msgid "<strong>ERROR</strong>: Incorrect username or password."
87
  msgstr ""
88
 
89
- #: limit-login-attempts.php:714
90
- msgid "IP|Internet address"
 
91
  msgstr ""
92
 
93
- #: limit-login-attempts.php:714
94
  msgid "Tried to log in as"
95
  msgstr ""
96
 
97
- #: limit-login-attempts.php:719
98
- #, php-format
99
  msgid "%d lockout"
100
  msgid_plural "%d lockouts"
101
  msgstr[0] ""
102
  msgstr[1] ""
103
 
104
- #: limit-login-attempts.php:743
105
  msgid "Cleared IP log"
106
  msgstr ""
107
 
108
- #: limit-login-attempts.php:751
109
  msgid "Reset lockout count"
110
  msgstr ""
111
 
112
- #: limit-login-attempts.php:759
113
  msgid "Cleared current lockouts"
114
  msgstr ""
115
 
116
- #: limit-login-attempts.php:788
117
  msgid "Options changed"
118
  msgstr ""
119
 
120
- #: limit-login-attempts.php:799
121
- msgid "<strong>NOTE:</strong> Only works in Wordpress 2.7 or later"
122
- msgstr ""
123
-
124
- #: limit-login-attempts.php:815
125
- #, php-format
126
  msgid "It appears the site is reached directly (from your IP: %s)"
127
  msgstr ""
128
 
129
- #: limit-login-attempts.php:817
130
- #, php-format
131
  msgid ""
132
  "It appears the site is reached through a proxy server (proxy IP: %s, your "
133
  "IP: %s)"
134
  msgstr ""
135
 
136
- #: limit-login-attempts.php:825
137
- #, php-format
138
  msgid ""
139
  "<strong>Current setting appears to be invalid</strong>. Please make sure it "
140
  "is correct. Further information can be found <a href=\"%s\" title=\"FAQ"
141
  "\">here</a>"
142
  msgstr ""
143
 
144
- #: limit-login-attempts.php:833
145
  msgid "Limit Login Attempts Settings"
146
  msgstr ""
147
 
148
- #: limit-login-attempts.php:834
149
  msgid "Statistics"
150
  msgstr ""
151
 
152
- #: limit-login-attempts.php:838
153
  msgid "Total lockouts"
154
  msgstr ""
155
 
156
- #: limit-login-attempts.php:841
157
  msgid "Reset Counter"
158
  msgstr ""
159
 
160
- #: limit-login-attempts.php:842
161
- #, php-format
162
  msgid "%d lockout since last reset"
163
  msgid_plural "%d lockouts since last reset"
164
  msgstr[0] ""
165
  msgstr[1] ""
166
 
167
- #: limit-login-attempts.php:843
168
  msgid "No lockouts yet"
169
  msgstr ""
170
 
171
- #: limit-login-attempts.php:848
172
  msgid "Active lockouts"
173
  msgstr ""
174
 
175
- #: limit-login-attempts.php:850
176
  msgid "Restore Lockouts"
177
  msgstr ""
178
 
179
- #: limit-login-attempts.php:851
180
- #, php-format
181
  msgid "%d IP is currently blocked from trying to log in"
182
  msgstr ""
183
 
184
- #: limit-login-attempts.php:857
185
  msgid "Options"
186
  msgstr ""
187
 
188
- #: limit-login-attempts.php:861
189
  msgid "Lockout"
190
  msgstr ""
191
 
192
- #: limit-login-attempts.php:863
193
  msgid "allowed retries"
194
  msgstr ""
195
 
196
- #: limit-login-attempts.php:864
197
  msgid "minutes lockout"
198
  msgstr ""
199
 
200
- #: limit-login-attempts.php:865
201
  msgid "lockouts increase lockout time to"
202
  msgstr ""
203
 
204
- #: limit-login-attempts.php:865
205
  msgid "hours"
206
  msgstr ""
207
 
208
- #: limit-login-attempts.php:866
209
  msgid "hours until retries are reset"
210
  msgstr ""
211
 
212
- #: limit-login-attempts.php:870
213
  msgid "Site connection"
214
  msgstr ""
215
 
216
- #: limit-login-attempts.php:876
217
  msgid "Direct connection"
218
  msgstr ""
219
 
220
- #: limit-login-attempts.php:881
221
  msgid "From behind a reversy proxy"
222
  msgstr ""
223
 
224
- #: limit-login-attempts.php:887
225
  msgid "Handle cookie login"
226
  msgstr ""
227
 
228
- #: limit-login-attempts.php:889
229
  msgid "Yes"
230
  msgstr ""
231
 
232
- #: limit-login-attempts.php:889
233
  msgid "No"
234
  msgstr ""
235
 
236
- #: limit-login-attempts.php:894
237
  msgid "Notify on lockout"
238
  msgstr ""
239
 
240
- #: limit-login-attempts.php:896
241
  msgid "Log IP"
242
  msgstr ""
243
 
244
- #: limit-login-attempts.php:897
245
  msgid "Email to admin after"
246
  msgstr ""
247
 
248
- #: limit-login-attempts.php:897
249
  msgid "lockouts"
250
  msgstr ""
251
 
252
- #: limit-login-attempts.php:902
253
  msgid "Change Options"
254
  msgstr ""
255
 
256
- #: limit-login-attempts.php:910
257
  msgid "Lockout log"
258
  msgstr ""
259
 
260
- #: limit-login-attempts.php:914
261
  msgid "Clear Log"
262
  msgstr ""
263
 
264
- #. Plugin Name of an extension
265
  msgid "Limit Login Attempts"
266
  msgstr ""
267
 
268
- #. Plugin URI of an extension
269
  msgid "http://devel.kostdoktorn.se/limit-login-attempts"
270
  msgstr ""
271
 
272
- #. Description of an extension
273
  msgid "Limit rate of login attempts, including by way of cookies, for each IP."
274
  msgstr ""
275
 
276
- #. Author of an extension
277
  msgid "Johan Eenfeldt"
278
  msgstr ""
279
 
280
- #. Author URI of an extension
281
  msgid "http://devel.kostdoktorn.se"
282
  msgstr ""
1
+ # Copyright (C) 2010 Limit Login Attempts
2
+ # This file is distributed under the same license as the Limit Login Attempts package.
 
 
 
 
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Limit Login Attempts 1.6.1\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/limit-login-attempts\n"
7
+ "POT-Creation-Date: 2011-02-17 15:08:09+00:00\n"
 
 
 
8
  "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\n"
12
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
+ "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
+ #: limit-login-attempts.php:474
 
16
  msgid "%d hour"
17
  msgid_plural "%d hours"
18
  msgstr[0] ""
19
  msgstr[1] ""
20
 
21
+ #: limit-login-attempts.php:480
 
22
  msgid "%d minute"
23
  msgid_plural "%d minutes"
24
  msgstr[0] ""
25
  msgstr[1] ""
26
 
27
+ #: limit-login-attempts.php:485
 
28
  msgid "[%s] Too many failed login attempts"
29
  msgstr ""
30
 
31
+ #: limit-login-attempts.php:487
32
+ msgid "%d failed login attempts (%d lockout(s)) from IP: %s"
 
 
33
  msgstr ""
34
 
35
+ #: limit-login-attempts.php:491
36
+ msgid "Last user attempted: %s"
 
 
37
  msgstr ""
38
 
39
+ #: limit-login-attempts.php:494
 
40
  msgid "IP was blocked for %s"
41
  msgstr ""
42
 
43
+ #: limit-login-attempts.php:551
44
  msgid "<strong>ERROR</strong>: Too many failed login attempts."
45
  msgstr ""
46
 
47
+ #: limit-login-attempts.php:555
48
  msgid "Please try again later."
49
  msgstr ""
50
 
51
+ #: limit-login-attempts.php:562
 
52
  msgid "Please try again in %d hour."
53
  msgid_plural "Please try again in %d hours."
54
  msgstr[0] ""
55
  msgstr[1] ""
56
 
57
+ #: limit-login-attempts.php:564
 
58
  msgid "Please try again in %d minute."
59
  msgid_plural "Please try again in %d minutes."
60
  msgstr[0] ""
61
  msgstr[1] ""
62
 
63
+ #: limit-login-attempts.php:593
 
64
  msgid "<strong>%d</strong> attempt remaining."
65
  msgid_plural "<strong>%d</strong> attempts remaining."
66
  msgstr[0] ""
67
  msgstr[1] ""
68
 
69
+ #: limit-login-attempts.php:658
70
  msgid "<strong>ERROR</strong>: Incorrect username or password."
71
  msgstr ""
72
 
73
+ #: limit-login-attempts.php:826
74
+ msgctxt "Internet address"
75
+ msgid "IP"
76
  msgstr ""
77
 
78
+ #: limit-login-attempts.php:826
79
  msgid "Tried to log in as"
80
  msgstr ""
81
 
82
+ #: limit-login-attempts.php:831
 
83
  msgid "%d lockout"
84
  msgid_plural "%d lockouts"
85
  msgstr[0] ""
86
  msgstr[1] ""
87
 
88
+ #: limit-login-attempts.php:860
89
  msgid "Cleared IP log"
90
  msgstr ""
91
 
92
+ #: limit-login-attempts.php:868
93
  msgid "Reset lockout count"
94
  msgstr ""
95
 
96
+ #: limit-login-attempts.php:876
97
  msgid "Cleared current lockouts"
98
  msgstr ""
99
 
100
+ #: limit-login-attempts.php:905
101
  msgid "Options changed"
102
  msgstr ""
103
 
104
+ #: limit-login-attempts.php:923
 
 
 
 
 
105
  msgid "It appears the site is reached directly (from your IP: %s)"
106
  msgstr ""
107
 
108
+ #: limit-login-attempts.php:925
 
109
  msgid ""
110
  "It appears the site is reached through a proxy server (proxy IP: %s, your "
111
  "IP: %s)"
112
  msgstr ""
113
 
114
+ #: limit-login-attempts.php:933
 
115
  msgid ""
116
  "<strong>Current setting appears to be invalid</strong>. Please make sure it "
117
  "is correct. Further information can be found <a href=\"%s\" title=\"FAQ"
118
  "\">here</a>"
119
  msgstr ""
120
 
121
+ #: limit-login-attempts.php:941
122
  msgid "Limit Login Attempts Settings"
123
  msgstr ""
124
 
125
+ #: limit-login-attempts.php:942
126
  msgid "Statistics"
127
  msgstr ""
128
 
129
+ #: limit-login-attempts.php:947
130
  msgid "Total lockouts"
131
  msgstr ""
132
 
133
+ #: limit-login-attempts.php:950
134
  msgid "Reset Counter"
135
  msgstr ""
136
 
137
+ #: limit-login-attempts.php:951
 
138
  msgid "%d lockout since last reset"
139
  msgid_plural "%d lockouts since last reset"
140
  msgstr[0] ""
141
  msgstr[1] ""
142
 
143
+ #: limit-login-attempts.php:952
144
  msgid "No lockouts yet"
145
  msgstr ""
146
 
147
+ #: limit-login-attempts.php:957
148
  msgid "Active lockouts"
149
  msgstr ""
150
 
151
+ #: limit-login-attempts.php:959
152
  msgid "Restore Lockouts"
153
  msgstr ""
154
 
155
+ #: limit-login-attempts.php:960
 
156
  msgid "%d IP is currently blocked from trying to log in"
157
  msgstr ""
158
 
159
+ #: limit-login-attempts.php:966
160
  msgid "Options"
161
  msgstr ""
162
 
163
+ #: limit-login-attempts.php:971
164
  msgid "Lockout"
165
  msgstr ""
166
 
167
+ #: limit-login-attempts.php:973
168
  msgid "allowed retries"
169
  msgstr ""
170
 
171
+ #: limit-login-attempts.php:974
172
  msgid "minutes lockout"
173
  msgstr ""
174
 
175
+ #: limit-login-attempts.php:975
176
  msgid "lockouts increase lockout time to"
177
  msgstr ""
178
 
179
+ #: limit-login-attempts.php:975
180
  msgid "hours"
181
  msgstr ""
182
 
183
+ #: limit-login-attempts.php:976
184
  msgid "hours until retries are reset"
185
  msgstr ""
186
 
187
+ #: limit-login-attempts.php:980
188
  msgid "Site connection"
189
  msgstr ""
190
 
191
+ #: limit-login-attempts.php:986
192
  msgid "Direct connection"
193
  msgstr ""
194
 
195
+ #: limit-login-attempts.php:991
196
  msgid "From behind a reversy proxy"
197
  msgstr ""
198
 
199
+ #: limit-login-attempts.php:997
200
  msgid "Handle cookie login"
201
  msgstr ""
202
 
203
+ #: limit-login-attempts.php:999
204
  msgid "Yes"
205
  msgstr ""
206
 
207
+ #: limit-login-attempts.php:999
208
  msgid "No"
209
  msgstr ""
210
 
211
+ #: limit-login-attempts.php:1003
212
  msgid "Notify on lockout"
213
  msgstr ""
214
 
215
+ #: limit-login-attempts.php:1005
216
  msgid "Log IP"
217
  msgstr ""
218
 
219
+ #: limit-login-attempts.php:1006
220
  msgid "Email to admin after"
221
  msgstr ""
222
 
223
+ #: limit-login-attempts.php:1006
224
  msgid "lockouts"
225
  msgstr ""
226
 
227
+ #: limit-login-attempts.php:1011
228
  msgid "Change Options"
229
  msgstr ""
230
 
231
+ #: limit-login-attempts.php:1019
232
  msgid "Lockout log"
233
  msgstr ""
234
 
235
+ #: limit-login-attempts.php:1024
236
  msgid "Clear Log"
237
  msgstr ""
238
 
239
+ #. Plugin Name of the plugin/theme
240
  msgid "Limit Login Attempts"
241
  msgstr ""
242
 
243
+ #. Plugin URI of the plugin/theme
244
  msgid "http://devel.kostdoktorn.se/limit-login-attempts"
245
  msgstr ""
246
 
247
+ #. Description of the plugin/theme
248
  msgid "Limit rate of login attempts, including by way of cookies, for each IP."
249
  msgstr ""
250
 
251
+ #. Author of the plugin/theme
252
  msgid "Johan Eenfeldt"
253
  msgstr ""
254
 
255
+ #. Author URI of the plugin/theme
256
  msgid "http://devel.kostdoktorn.se"
257
  msgstr ""
readme.txt CHANGED
@@ -2,10 +2,10 @@
2
  Contributors: johanee
3
  Tags: login, security, authentication
4
  Requires at least: 2.8
5
- Tested up to: 3.1-RC1
6
- Stable tag: 1.6.0
7
 
8
- Limit rate of login attempts, including by way of cookies, for each IP.
9
 
10
  == Description ==
11
 
@@ -23,7 +23,7 @@ Features
23
  * Optional logging, optional email notification
24
  * Handles server behind reverse proxy
25
 
26
- Translations: Bulgarian, Brazilian Portuguese, Catalan, Chinese (Traditional), Czech, Dutch, French, Finnish, German, Hungarian, Norwegian, Persian, Romanian, Russian, Spanish, Swedish, Turkish
27
 
28
  Plugin uses standard actions and filters only.
29
 
@@ -67,6 +67,13 @@ If you have access to the database (for example through phpMyAdmin) you can clea
67
 
68
  == Changelog ==
69
 
 
 
 
 
 
 
 
70
  = 1.6.0 =
71
  * Happy New Year
72
  * Tested against WordPress 3.1-RC1
2
  Contributors: johanee
3
  Tags: login, security, authentication
4
  Requires at least: 2.8
5
+ Tested up to: 3.1-RC4
6
+ Stable tag: 1.6.1
7
 
8
+ Limit rate of login attempts, including by way of cookies, for each IP. Fully customizable.
9
 
10
  == Description ==
11
 
23
  * Optional logging, optional email notification
24
  * Handles server behind reverse proxy
25
 
26
+ Translations: Bulgarian, Brazilian Portuguese, Catalan, Chinese (Traditional), Czech, Dutch, Finnish, French, German, Hungarian, Norwegian, Persian, Romanian, Russian, Spanish, Swedish, Turkish
27
 
28
  Plugin uses standard actions and filters only.
29
 
67
 
68
  == Changelog ==
69
 
70
+ = 1.6.1 =
71
+ * (WordPress 3.0+) An invalid cookie can sometimes get sent multiple times before it gets cleared, resulting in multiple failed attempts or even a lockout from a single invalid cookie. Store the latest failed cookie to make sure we only count it as one failed attempt
72
+ * Define "Text Domain" correctly
73
+ * Include correct Dutch tranlation file. Thanks to Martin1 for noticing. Thanks again to Bjorn Wijers for the translation
74
+ * Updated POT file for this version
75
+ * Tested against WordPress 3.1-RC4
76
+
77
  = 1.6.0 =
78
  * Happy New Year
79
  * Tested against WordPress 3.1-RC1