summaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
authorSavetheinternet <savetheinternet@n0v4.com>2011-03-31 00:15:26 +1100
committerSavetheinternet <savetheinternet@n0v4.com>2011-03-31 00:15:26 +1100
commit5b841d1e5366892e3203f60c22c12db45d4375e0 (patch)
treea5e06395303981b70795aba3db36196759c97230 /inc
parentb4aa39ca2def14eb1f6521eeb9e6f0a76b3720f5 (diff)
Remove expired IP range bans properly
Diffstat (limited to 'inc')
-rw-r--r--inc/functions.php7
1 files changed, 7 insertions, 0 deletions
diff --git a/inc/functions.php b/inc/functions.php
index e2a2454b..c8239785 100644
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -211,6 +211,13 @@
$query->bindValue(':ip', $_SERVER['REMOTE_ADDR']);
$query->bindValue(':expires', $ban['expires'], PDO::PARAM_INT);
$query->execute() or error(db_error($query));
+
+ if($config['ban_range']) {
+ $query = prepare("DELETE FROM `bans` WHERE :ip REGEXP CONCAT('^', REPLACE(REPLACE(`ip`, '.', '\\.'), '*', '[0-9]*'), '$') AND `expires` = :expires LIMIT 1");
+ $query->bindValue(':ip', $_SERVER['REMOTE_ADDR']);
+ $query->bindValue(':expires', $ban['expires'], PDO::PARAM_INT);
+ $query->execute() or error(db_error($query));
+ }
return;
}
$body = '<div class="ban">