Version Description
Download this release
Release Info
Developer | WebFactory |
Plugin | Login LockDown |
Version | 1.83 |
Comparing to | |
See all releases |
Code changes from version 1.82 to 1.83
- loginlockdown.php +8 -8
- readme.txt +6 -2
loginlockdown.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Login LockDown
|
4 |
Plugin URI: https://wploginlockdown.com/
|
5 |
Description: Protect login form by banning IP after multiple failed login attempts.
|
6 |
-
Version: 1.
|
7 |
Author: WebFactory Ltd
|
8 |
Author URI: https://www.webfactoryltd.com/
|
9 |
License: GNU General Public License v3.0
|
@@ -82,7 +82,7 @@ function loginLockdown_countFails($username = "")
|
|
82 |
$numFails = $wpdb->get_var(
|
83 |
$wpdb->prepare(
|
84 |
"SELECT COUNT(login_attempt_ID) FROM " . $table_name . " WHERE login_attempt_date + INTERVAL %d MINUTE > %s AND login_attempt_IP LIKE %s",
|
85 |
-
array($loginlockdownOptions['retries_within'], current_time('mysql'
|
86 |
)
|
87 |
);
|
88 |
|
@@ -109,7 +109,7 @@ function loginLockdown_incrementFails($username = "")
|
|
109 |
$table_name,
|
110 |
array(
|
111 |
'user_id' => $user_id,
|
112 |
-
'login_attempt_date' => current_time('mysql'
|
113 |
'login_attempt_IP' => $subnet[0]
|
114 |
)
|
115 |
);
|
@@ -136,8 +136,8 @@ function loginLockdown_lockDown($username = "")
|
|
136 |
$table_name,
|
137 |
array(
|
138 |
'user_id' => $user_id,
|
139 |
-
'lockdown_date' => current_time('mysql'
|
140 |
-
'release_date' => date('Y-m-d H:i:s', strtotime(current_time('mysql'
|
141 |
'lockdown_IP' => $subnet[0]
|
142 |
)
|
143 |
);
|
@@ -150,7 +150,7 @@ function loginLockdown_isLockedDown()
|
|
150 |
$table_name = $wpdb->prefix . "lockdowns";
|
151 |
$subnet = loginLockdown_calc_subnet($_SERVER['REMOTE_ADDR']);
|
152 |
|
153 |
-
$stillLocked = $wpdb->get_var($wpdb->prepare("SELECT user_id FROM " . $table_name . " WHERE release_date > %s AND lockdown_IP LIKE %s", array(current_time('mysql'
|
154 |
|
155 |
return $stillLocked;
|
156 |
}
|
@@ -163,7 +163,7 @@ function loginLockdown_listLockedDown()
|
|
163 |
$listLocked = $wpdb->get_results(
|
164 |
$wpdb->prepare(
|
165 |
"SELECT lockdown_ID, floor((UNIX_TIMESTAMP(release_date)-UNIX_TIMESTAMP(%s))/60) AS minutes_left, lockdown_IP FROM $table_name WHERE release_date > %s",
|
166 |
-
array(current_time('mysql'
|
167 |
),
|
168 |
ARRAY_A);
|
169 |
|
@@ -259,7 +259,7 @@ function loginLockdown_print_admin_page()
|
|
259 |
|
260 |
foreach ($released as $release_id) {
|
261 |
$wpdb->query(
|
262 |
-
$wpdb->prepare("UPDATE $table_name SET release_date = %s WHERE lockdown_ID = %d", array(current_time('mysql'
|
263 |
);
|
264 |
}
|
265 |
}
|
3 |
Plugin Name: Login LockDown
|
4 |
Plugin URI: https://wploginlockdown.com/
|
5 |
Description: Protect login form by banning IP after multiple failed login attempts.
|
6 |
+
Version: 1.83
|
7 |
Author: WebFactory Ltd
|
8 |
Author URI: https://www.webfactoryltd.com/
|
9 |
License: GNU General Public License v3.0
|
82 |
$numFails = $wpdb->get_var(
|
83 |
$wpdb->prepare(
|
84 |
"SELECT COUNT(login_attempt_ID) FROM " . $table_name . " WHERE login_attempt_date + INTERVAL %d MINUTE > %s AND login_attempt_IP LIKE %s",
|
85 |
+
array($loginlockdownOptions['retries_within'], current_time('mysql'), $subnet[1] . "%")
|
86 |
)
|
87 |
);
|
88 |
|
109 |
$table_name,
|
110 |
array(
|
111 |
'user_id' => $user_id,
|
112 |
+
'login_attempt_date' => current_time('mysql'),
|
113 |
'login_attempt_IP' => $subnet[0]
|
114 |
)
|
115 |
);
|
136 |
$table_name,
|
137 |
array(
|
138 |
'user_id' => $user_id,
|
139 |
+
'lockdown_date' => current_time('mysql'),
|
140 |
+
'release_date' => date('Y-m-d H:i:s', strtotime(current_time('mysql')) + $loginlockdownOptions['lockout_length'] * 60),
|
141 |
'lockdown_IP' => $subnet[0]
|
142 |
)
|
143 |
);
|
150 |
$table_name = $wpdb->prefix . "lockdowns";
|
151 |
$subnet = loginLockdown_calc_subnet($_SERVER['REMOTE_ADDR']);
|
152 |
|
153 |
+
$stillLocked = $wpdb->get_var($wpdb->prepare("SELECT user_id FROM " . $table_name . " WHERE release_date > %s AND lockdown_IP LIKE %s", array(current_time('mysql'), $subnet[1] . "%")));
|
154 |
|
155 |
return $stillLocked;
|
156 |
}
|
163 |
$listLocked = $wpdb->get_results(
|
164 |
$wpdb->prepare(
|
165 |
"SELECT lockdown_ID, floor((UNIX_TIMESTAMP(release_date)-UNIX_TIMESTAMP(%s))/60) AS minutes_left, lockdown_IP FROM $table_name WHERE release_date > %s",
|
166 |
+
array(current_time('mysql'), current_time('mysql'))
|
167 |
),
|
168 |
ARRAY_A);
|
169 |
|
259 |
|
260 |
foreach ($released as $release_id) {
|
261 |
$wpdb->query(
|
262 |
+
$wpdb->prepare("UPDATE $table_name SET release_date = %s WHERE lockdown_ID = %d", array(current_time('mysql'), $release_id))
|
263 |
);
|
264 |
}
|
265 |
}
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: WebFactory
|
3 |
Tags: security, login, login form, protect login, login control, login blocking, lockdown, ban ip
|
4 |
Requires at least: 4.0
|
5 |
-
Tested up to: 6.
|
6 |
-
Stable Tag: 1.
|
7 |
Requires PHP: 5.2
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -29,6 +29,10 @@ Configure the plugin from Settings - Login LockDown
|
|
29 |
|
30 |
== Change Log ==
|
31 |
|
|
|
|
|
|
|
|
|
32 |
= v1.82 =
|
33 |
* 2022/09/23
|
34 |
* WebFactory took over development
|
2 |
Contributors: WebFactory
|
3 |
Tags: security, login, login form, protect login, login control, login blocking, lockdown, ban ip
|
4 |
Requires at least: 4.0
|
5 |
+
Tested up to: 6.1
|
6 |
+
Stable Tag: 1.83
|
7 |
Requires PHP: 5.2
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
29 |
|
30 |
== Change Log ==
|
31 |
|
32 |
+
= v1.83 =
|
33 |
+
* 2022/10/04
|
34 |
+
* fixed timezone bug
|
35 |
+
|
36 |
= v1.82 =
|
37 |
* 2022/09/23
|
38 |
* WebFactory took over development
|