Banhammer for Laravel пропонує простий спосіб заборонити будь-яку Модель за ідентифікатором та IP; це також дозволяє блокувати запити за IP-адресами. Як тільки ваша програма заблокує користувачів, ви можете використовувати надане проміжне програмне забезпечення, щоб запобігти доступу заборонених користувачів до певних частин вашої програми. Після того, як ви встановите цей пакет, ви можете швидко заборонити моделі
за допомогою забороненої
риси пакета:
namespace App\Models;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Mchev\Banhammer\Traits\Bannable;
class User extends Authenticatable
{
use Bannable;
}
Тепер ви можете заборонити користувачам:
$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"]);
Ще одна акуратна функція, яку надає цей пакет, полягає в тому, що заборонені моделі можуть мати термін придатності. Після закінчення терміну дії заборони модель буде автоматично розбанена через планувальник:
$user->banUntil('2 days');
Цей пакет також надає корисні методи для очищення всіх заборон у всій програмі, включаючи ручне скасування прострочених заборон, якщо вам потрібно програмно очистити прострочені заборони.
Ви можете дізнатися більше про цей пакет, отримати повну інструкцію з встановлення та переглянути вихідний код на GitHub.