Banhammer: یک ابزار برای مدیریت و مانیتورینگ لیست سیاه کاربران است و یک راه ساده برای ممنوع کردن هر مدلی با ID و IP ارائه می دهد
بیشتر وب سایتها به دلایل امنیتی نیاز به ساخت و نگهداری لیستی از کاربرانی دارند که نباید به محتوای سایت دسترسی داشته باشند. برای این منظور اکثر فریمورکهای PHP دارای کتابخانههایی برای مدیریت Black List هستند.
اما یکی از مسائلی که ممکن است با مدیریت Black List رخ دهد، حجم بالایی از داده ها است که باید مدیریت شود. این مشکل باعث شده است تا توسعه دهندگان Laravel یک ابزار مفید برای مدیریت لیست سیاه کاربران با نام “Banhammer” ایجاد کنند.
با استفاده از Banhammer می توانید لیست سیاه کاربران را مدیریت کرده و رویدادهای مختلف را برای کاربرانی که به Black List اضافه شدهاند، به طور زنده مشاهده کنید. این ابزار از رویدادهای Laravel و ابزار Debugbar برای مانیتورینگ استفاده میکند و به شما امکان میدهد تا Black List خود را به راحتی اضافه، ویرایش و حذف کنید.
در نتیجه، با استفاده از Banhammer میتوانید برای وب سایت خود یک سیستم مدیریت Black List قدرتمند و کارآمد داشته باشید.
نحوه نصب :
با استفاده از Composer پکیج Banhammer را نصب نمایید.
composer require mazedlx/banhammer
سپس migrations رو اجرا کنید :
php artisan migrate
برای منتشر کردن فایل های Config :
php artisan vendor:publish --tag="banhammer-config"
امکان تعریف نام جدول و fallback_url در فایل config/ban.php وجود دارد.
نحوه استفاده :
برای ممنوع کردن یک مدل Mchev\Banhammer\Traits\Bannable
این ویژگی را به Model اضافه کنید.
الان شما به این شکل می تونید User ها رو مسدود کنید :
$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();
با این پکیج می تونید IP ها رو هم مسدود کنید :
use Mchev\Banhammer\IP;
IP::ban("8.8.8.8");
IP::ban(["8.8.8.8", "4.4.4.4"]);
یکی از ویژگی های جذاب این پکیج گذاشتن تاریخ انقضا برای Model ها است.
$user->banUntil('2 days');