Banhammer dla Laravel oferuje prosty sposób na zablokowanie dowolnego modelu przez ID i IP; umożliwia również blokowanie żądań według adresów IP. Gdy aplikacja zablokuje użytkowników, można użyć dostarczonego oprogramowania pośredniczącego, aby uniemożliwić zablokowanym użytkownikom dostęp do niektórych części aplikacji. Po zainstalowaniu tego pakietu możesz szybko zablokować modele za
pomocą cechy Bannable
pakietu:
namespace App\Models;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Mchev\Banhammer\Traits\Bannable;
class User extends Authenticatable
{
use Bannable;
}
Teraz możesz zablokować użytkowników za pomocą:
$user->ban();
// IP ban
$user->ban([
'ip' => $user->ip,
]);
// List all bans
$model->bans();
// Check ban status
$model->isBanned();
$model->isNotBanned();
// Unban a model
$user->unban();
Ten pakiet obsługuje również bezpośrednie blokowanie adresów IP:
use Mchev\Banhammer\IP;
IP::ban("8.8.8.8");
IP::ban(["8.8.8.8", "4.4.4.4"]);
Kolejną fajną funkcją tego pakietu jest to, że zakazane modele mogą mieć datę ważności. Po wygaśnięciu bana model zostanie automatycznie odblokowany za pośrednictwem harmonogramu:
$user->banUntil('2 days');
Ten pakiet zapewnia również metody narzędziowe do czyszczenia wszystkich banów w aplikacji, w tym ręczne odblokowywanie wygasłych banów, jeśli chcesz programowo wyczyścić wygasłe bany.
Możesz dowiedzieć się więcej o tym pakiecie, uzyskać pełne instrukcje instalacji i wyświetlić kod źródłowy < href="https://github.com/mchev/banhammer"> na GitHub.