Skip to content

Blockers ​

Blockers

Blockers are those elements that prevent any request to come through as long as a user/ip is block. Wires will not be checked as the user/ip is completely blocked from the application

There are a few different types of blockers

  • Based on a user on their userType and userId (TripwireBlockHandlerUser) this only works after a user has logged in
  • Based on IP address (TripwireBlockHandlerIp)
  • Based on a browserFingerprint (if your frontend supplies that) (TripwireBlockHandlerBrowser)
  • General (TripwireBlockHandlerAll). This will perform as TripwireBlockHandlerIp, TripwireBlockHandlerBrowser and TripwireBlockHandlerUser in one go

Adding blockers:

php
    protected $middlewareGroups = [
        'web' => [
            ...
            TripwireBlockHandlerAll::class, // Block on ip/browser or user
            ...
        ],

        'api' => [
            'auth:sanctum', // or any other auth checker must be present for the block on user to work
            ...
            TripwireBlockHandlerUser::class// must be added after a user has been authenticated and a userId is available
            ...
        ],

TIP

Easiest is to always use TripwireBlockHandlerUser::class and place that after any authentication

Example Early block ​

An alternative early block setup is to first block if the ip address is not accepted, and only then continue through the request cycle and when there is a user, check again if the user is not blocked

php
    protected $middlewareGroups = [
        'web' => [
            TripwireBlockHandlerIp::class, // Block on ip
            ...
            TripwireBlockHandlerUser::class// must be added after a user has been authenticated and a userId is available
            ...
        ],

Released under the MIT License.