Download the PHP package wobqqq/nova-aegis-smart-ip-blocker without Composer

On this page you can find all versions of the php package wobqqq/nova-aegis-smart-ip-blocker. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package nova-aegis-smart-ip-blocker

Aegis Smart IP Blocker

CI Packagist License: MIT PHP PHPStan

Smart IP Blocker is a module of Aegis, the security suite for Laravel Nova. It counts the requests of every IP address per minute and bans an IP that sends more than you allow, on the site and in Nova, to slow down brute-force attempts, scrapers and request floods.

🚀 Features

📦 Requirements

📥 Installation

1. Install the package

The service provider is discovered automatically.

2. Run the migrations

This creates the Aegis settings table if the core is new to the application; the module adds no table of its own.

3. Set up Aegis (once per application)

If Aegis is new to the application, register its tool and define the viewAegis gate as the Aegis README describes. Skip this step if you already use another Aegis module.

4. Turn it on in Nova

Open Aegis → Settings → Smart IP Blocker in Nova, check that your own address is in Excluded IPs, set the limits, switch Enable the Smart IP Blocker on and save.

⚙️ Configuration

Everything is set in the Aegis settings section:

Setting Default Range
Enable the Smart IP Blocker off
Requests per minute 100 1 – 10000
Ban duration (hours) 1 1 – 720
Blocked page view aegis-smart-ip-blocker::blocked an existing Blade view
Tracked IPs limit 0 (no limit) 0 – 10000
Excluded IPs your IP up to 150 IPs or subnets
Excluded headers none up to 150 header / text pairs

The counts and bans live in the cache store Aegis uses (AEGIS_CACHE_STORE, the default store otherwise), under keys starting with aegis.smart-ip-blocker.v1.. The array and null stores forget them after each request: the Aegis dashboard fails a check when the module runs on one.

A custom view receives $retryAfter (seconds) and $message.

🧰 Recovery commands

⚠️ Good to know

⬆️ Upgrading

See CHANGELOG.md.

🔒 Security

Please report a vulnerability privately, as described in SECURITY.md.

🛠️ Development

The toolchain runs in Docker, the host needs nothing but docker and make. Until the core is on Packagist, Composer installs it from ../nova-aegis (a path repository), so clone nova-aegis next to this repository; the container mounts the parent directory for that. No Nova license is needed: development and CI run on a test double of Nova in stubs/nova (installed as laravel/nova from a path repository, never shipped). Applications still install the real Nova.

make test.nova copies this repository and the core from ../nova-aegis (or AEGIS_CORE) to a temporary directory, installs the real laravel/nova from nova.laravel.com there and runs Pest; it needs your own Nova license in auth.json (gitignored), and NOVA_VERSION=5.9.3 make test.nova picks a release your license may download. The working copy, its vendor/ and composer.lock are left untouched.

GitHub Actions runs the same checks on every pull request. It checks the core's main out next to this repository and needs no Nova license; while the core repository is private, it needs an AEGIS_CORE_TOKEN secret (a token that can read it).


All versions of nova-aegis-smart-ip-blocker with dependencies

PHP Build Version
Package Version
Requires php Version ^8.4
laravel/framework Version ^12.0 || ^13.0
laravel/nova Version ^5.0
psr/clock Version ^1.0
wobqqq/nova-aegis Version ^1.1 || ^2.0 || dev-main
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package wobqqq/nova-aegis-smart-ip-blocker contains the following files

Loading the files please wait ...