mulertech/scanner-ban-bundle
A Laravel/PHP bundle for detecting and banning malicious scanners and suspicious traffic. It integrates with your app to block unwanted requests, helping protect endpoints and reduce noise from automated probes.
Architecture fit. The package is a request-admission/filtering middleware for Laravel-style applications, using configuration such as allowed_ips plus a blocklist that can reject non-browser clients like curl or requests with no User-Agent. That fits naturally into the HTTP middleware pipeline and is operationally useful as an edge-control layer for bot/User-Agent blocking and IP allowlisting. v1.0.1 reinforces the design by treating loopback as an invariant: requests from inside the container are always allowed, even if allowed_ips does not list them.
Integration feasibility. Low-to-moderate. A TPM can treat this as a Composer-installed middleware package with configuration publish/registration. The main integration prerequisites are middleware ordering and correct framework.trusted_proxies configuration. The release explicitly relies on trusted-proxy handling so that external clients behind a reverse proxy retain their real address rather than appearing as loopback.
Technical risk. The loopback exemption is sensible for health checks, post-deployment probes, and self-calls, and it directly reduces false 403 deployment failures. The security risk is conditional: external traffic should not inherit loopback treatment unless trusted-proxy configuration is wrong or the application is exposed in a way that lets client-supplied forwarding headers spoof the client address. The package already requires trusted proxies, but that dependency should be verified in every environment. The housekeeping change—removing phpstan-baseline.neon from the distribution archive—has no runtime impact.
Key questions.
127.0.0.1 and IPv6 ::1?REMOTE_ADDR or the resolved client IP after trusted-proxy processing?allowed_ips and blocklist behavior be disabled or overridden per environment?trusted_proxies configuration for common load balancers and reverse proxies?Stack fit. Good fit for Laravel applications that need lightweight request filtering without external infrastructure. It is stateless, configuration-driven, and suitable for containerized deployments where health checks and probes originate from loopback. It is less suitable as a sole security control for public edge traffic; it should complement WAF, network policy, and application authentication.
Migration path. Since there is no prior assessment baseline, treat v1.0.1 as the initial target version. Install in staging first, publish/verify configuration, register middleware, and confirm behavior for browser traffic, curl, empty User-Agent requests, health endpoints, and self-calls. Existing deployments that intentionally blocked loopback traffic would see a behavior change and should be reviewed before upgrade; that use case is unusual and generally undesirable for Laravel health checks.
Compatibility. Confirm Composer constraints against the application’s Laravel and PHP versions. Verify that the package’s trusted-proxy assumptions match the host application’s TrustProxies configuration. Test both direct-container access and reverse-proxy access so that external clients are not accidentally classified as loopback.
Sequencing.
allowed_ips, blocklist rules, and framework.trusted_proxies.200, not 403.403 rates during the first deployment.Maintenance. Low. The package appears stateless and configuration-driven, with no datastore or background process. The v1.0.1 distribution cleanup reduces archive noise but does not change runtime maintenance. Ongoing maintenance is mainly configuration review and upstream version tracking.
Support. Support burden is concentrated in trusted-proxy correctness and blocklist tuning. Operations teams need clear ownership of allowed_ips, blocklist entries, and proxy configuration. Without that ownership, well-intentioned blocks can break integrations or health checks.
Scaling. Good. Request filtering at middleware level scales horizontally with the application. There is no shared state to coordinate. The loopback exemption is especially valuable in autoscaling/container platforms where local probes are frequent and should not depend on per-environment allowed_ips entries.
Failure modes.
Ramp-up. Low for developers; moderate for operations if trusted-proxy behavior is not already well understood. A short runbook covering health-check paths, proxy configuration, blocklist ownership, and rollback steps is sufficient.
How can I help you explore Laravel packages today?