Skip to content

Commit fb8c30f

Browse files
committed
Add expiration date on IP bans
1 parent ea97d96 commit fb8c30f

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

README.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Banhammer, a Model and IP ban package for Laravel
1+
# Banhammer, a Model, IP and Country ban package for Laravel
22

33
[![Latest Version on Packagist](https://img.shields.io/packagist/v/mchev/banhammer.svg?style=flat-square)](https://packagist.org/packages/mchev/banhammer)
44
[![GitHub Tests Action Status](https://img.shields.io/github/actions/workflow/status/mchev/banhammer/run-tests.yml?branch=main&label=tests&style=flat-square)](https://github.com/mchev/banhammer/actions?query=workflow%3Arun-tests+branch%3Amain)
@@ -182,6 +182,19 @@ use Mchev\Banhammer\IP;
182182
183183
IP::ban("8.8.8.8");
184184
IP::ban(["8.8.8.8", "4.4.4.4"]);
185+
186+
// Ban IP with expiration date
187+
IP::ban("8.8.8.8", [], now()->addMinutes(10));
188+
189+
// Full
190+
IP::ban(
191+
"8.8.8.8",
192+
[
193+
"MetaKey1" => "MetaValue1",
194+
"MetaKey2" => "MetaValue2",
195+
],
196+
now()->addMinutes(10)
197+
);
185198
```
186199
187200
Unban IPs

src/IP.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
class IP
1010
{
11-
public static function ban(string|array $ips, array $metas = []): void
11+
public static function ban(string|array $ips, array $metas = [], string $date = null): void
1212
{
1313
$bannedIps = self::getBannedIPsFromCache();
1414

@@ -17,6 +17,7 @@ public static function ban(string|array $ips, array $metas = []): void
1717
Ban::create([
1818
'ip' => $ip,
1919
'metas' => count($metas) ? $metas : null,
20+
'expired_at' => $date,
2021
]);
2122
}
2223
}

0 commit comments

Comments
 (0)