• Время чтения ~0 мин
  • 27.02.2023

Banhammer for Laravel предлагает простой способ блокировки любой Модели по ID и IP; он также позволяет блокировать запросы по IP-адресам. После блокировки пользователей приложением можно использовать предоставленное промежуточное ПО, чтобы запретить запрещенным пользователям доступ к определенным частям приложения.

Как только вы установите этот пакет, вы можете быстро заблокировать модели с помощью атрибута Bannable пакета:

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');

Этот пакет также предоставляет служебные методы для очистки всех банов в приложении, включая ручную отмену блокировки с истекшим сроком действия, если вам нужно программно очистить истекшие блокировки.

Вы можете узнать больше об этом пакете, получить полные инструкции по установке и просмотреть код source на GitHub.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

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...

Об авторе CrazyBoy49z
WORK EXPERIENCE
Контакты
Ukraine, Lutsk
+380979856297