artisanpack-ui/security
Core Laravel security toolkit for ArtisanPack UI: sanitization, escaping (Laminas Escaper), KSES filtering, validation rules, security/CSP middleware, CSP builder with nonce & reporting, rate limiting, audit/scan commands, and testing helpers.
composer require artisanpack-ui/security
The package auto-registers via Laravel's package discovery.
php artisan vendor:publish --tag=security-config
Publishes config/artisanpack/security.php. Override headers, rate limiting, XSS protection, API security, CSP, testing, logging, and command defaults here.
php artisan migrate
Adds the csp_violation_reports table used by the CSP violation reporting endpoint.
The package's middleware are aliased by the service provider but not applied globally — you opt in per route or in your app/Http/Kernel.php middleware groups:
// app/Http/Kernel.php (Laravel 10)
protected $middlewareGroups = [
'web' => [
// ...
\ArtisanPackUI\Security\Http\Middleware\SecurityHeadersMiddleware::class,
\ArtisanPackUI\Security\Http\Middleware\ContentSecurityPolicy::class,
],
];
Or in bootstrap/app.php (Laravel 11+):
->withMiddleware(function (Middleware $middleware) {
$middleware->web(append: [
\ArtisanPackUI\Security\Http\Middleware\SecurityHeadersMiddleware::class,
\ArtisanPackUI\Security\Http\Middleware\ContentSecurityPolicy::class,
]);
})
The shipped middleware aliases (csp, security.headers, xss.protection, api.security, api.rate_limit) work in route definitions:
Route::middleware(['csp', 'security.headers'])->group(function () {
// ...
});
How can I help you explore Laravel packages today?