Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Security Bundle

Security Bundle Laravel Package

nelmio/security-bundle

Symfony bundle adding practical security headers and protections: Content Security Policy, X-Frame-Options clickjacking defense, HSTS/HTTPS enforcement, signed cookies, external redirect detection, and content-type sniffing disablement.

View on GitHub
Deep Wiki
Context7

Adds extra security-related features in your Symfony application

Frequently asked questions about Security Bundle
Can I use NelmioSecurityBundle directly in Laravel without Symfony?
No, the bundle is designed for Symfony and won’t work natively in Laravel. However, you can replicate its features (e.g., HSTS, signed cookies) using Laravel middleware or packages like `spatie/laravel-hsts`. For cookie signing, leverage Laravel’s built-in `encrypt()` helper or custom middleware.
Which NelmioSecurityBundle features are most useful for Laravel apps?
Prioritize HSTS/HTTPS enforcement (via `spatie/laravel-hsts`), signed cookies (Laravel’s `encrypt()`), and CSP headers (use `spatie/laravel-csp`). Clickjacking protection (`X-Frame-Options`) and external redirect detection can also be implemented via middleware, but avoid Doctrine-dependent features like cookie session storage.
How do I implement HSTS in Laravel like NelmioSecurityBundle?
Use the `spatie/laravel-hsts` package, which provides middleware for HSTS headers and HTTPS redirects. Configure it in `app/Http/Kernel.php` and set max-age values in `.env`. This avoids reinventing Symfony’s `HSTSListener` logic while keeping Laravel’s simplicity.
Is NelmioSecurityBundle actively maintained for Laravel?
No, the bundle is Symfony-focused and hasn’t been ported to Laravel. Check GitHub for forks (e.g., `laravel-security-bundle`) or community alternatives. If you need a Laravel version, consider building lightweight middleware wrappers for specific features like signed cookies or CSP.
How do I sign cookies in Laravel similar to NelmioSecurityBundle?
Use Laravel’s built-in `encrypt()` method for cookie values: `response()->cookie('name', encrypt($value))`. For signing only (not encryption), combine `hash_hmac()` with `encrypt()`. Avoid reinventing the wheel—Laravel’s native tools are sufficient for most use cases.
What’s the best alternative to NelmioSecurityBundle for Laravel?
For security headers, use `spatie/laravel-csp` (CSP), `spatie/laravel-hsts` (HTTPS/HSTS), and `laravel-trusted-proxies` (trusted proxies). For signed cookies, Laravel’s `encrypt()` is adequate. No single package replaces Nelmio’s full suite, but these cover 90% of its functionality.
Will NelmioSecurityBundle break my Laravel app if I install it?
Yes, installing it directly will fail due to Symfony dependencies. The bundle requires Symfony’s `HttpFoundation`, `Security`, and `EventDispatcher` components, which conflict with Laravel’s architecture. Use it only as a reference for middleware logic, not as a drop-in solution.
How do I test HTTPS redirects in Laravel like Nelmio’s firewall?
Use Laravel’s `Testing` facade with `actingAs()` and assertions like `assertRedirectsTo()`. For HSTS, test with `spatie/laravel-hsts` and tools like `laravel-shift/laravel-testing` to simulate HTTP/HTTPS transitions. Mock the `Request` object to verify redirects in unit tests.
Can I use NelmioSecurityBundle’s CSP feature in Laravel?
Indirectly, yes. Use `spatie/laravel-csp` instead, which provides a Laravel-friendly API for CSP headers. Nelmio’s CSP implementation relies on Symfony’s `Response` object, but `spatie/laravel-csp` handles this natively. Configure directives in `config/csp.php` for granular control.
What’s the performance impact of replicating Nelmio’s features in Laravel?
Minimal if implemented as middleware. For example, signed cookies add ~1ms of encryption overhead, while HSTS headers are static. Benchmark critical paths (e.g., login flows) using `laravel-debugbar` or `blackfire.io`. Avoid over-engineering—Laravel’s native tools are optimized for performance.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky