Skip to content

Latest commit

 

History

History
33 lines (24 loc) · 918 Bytes

README.md

File metadata and controls

33 lines (24 loc) · 918 Bytes

marko/security

CSRF protection and security headers middleware -- secure your routes with drop-in middleware. For CORS, use marko/cors.

Installation

composer require marko/security

Quick Example

CsrfMiddleware and SecurityHeadersMiddleware are registered globally, so every state-changing route is protected and every response carries security headers. Opt a route out explicitly:

use Marko\Routing\Attributes\Post;
use Marko\Routing\Attributes\WithoutMiddleware;
use Marko\Security\Middleware\CsrfMiddleware;

class WebhookController
{
    #[Post('/webhooks/stripe')]
    #[WithoutMiddleware(CsrfMiddleware::class)]
    public function receive(): Response
    {
        return new Response('Received');
    }
}

Documentation

Full usage, API reference, and examples: marko/security