• Czas czytania ~1 min
  • 27.02.2023

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.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

O

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

O autorze CrazyBoy49z
WORK EXPERIENCE
Kontakt
Ukraine, Lutsk
+380979856297