PHPackages                             zakirullin/csrf-middleware - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. zakirullin/csrf-middleware

ActiveLibrary[HTTP &amp; Networking](/categories/http)

zakirullin/csrf-middleware
==========================

PSR-15 middleware to handle CSRF-token verification

0.6.2(7y ago)33002[1 issues](https://github.com/zakirullin/csrf-middleware/issues)MITPHPPHP ^7.1CI failing

Since May 11Pushed 6y ago2 watchersCompare

[ Source](https://github.com/zakirullin/csrf-middleware)[ Packagist](https://packagist.org/packages/zakirullin/csrf-middleware)[ Docs](https://github.com/zakirullin/csrf-middleware)[ RSS](/packages/zakirullin-csrf-middleware/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (6)Versions (9)Used By (0)

zakirullin/csrf-middleware
==========================

[](#zakirullincsrf-middleware)

[![Build Status](https://camo.githubusercontent.com/1cf0c1928fdc13c755a692ff0a4f73d8b2ab01bd476460a6653580692bed25ff/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f7a616b6972756c6c696e2f637372662d6d6964646c65776172652e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/zakirullin/csrf-middleware)[![Scrutinizer](https://camo.githubusercontent.com/b47cd67ade6c5b10efaf6eff6fa5e0e7abd0961f79e77795f4ba94e1e8223971/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f7a616b6972756c6c696e2f637372662d6d6964646c65776172652e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/zakirullin/csrf-middleware/)[![PHP from Packagist](https://camo.githubusercontent.com/6bdf4c283dd48c6c04bae0e01e2ae20a2510a37aeb9dbcb40d2e07ac71d9ab32/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f7a616b6972756c6c696e2f637372662d6d6964646c65776172652e7376673f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/6bdf4c283dd48c6c04bae0e01e2ae20a2510a37aeb9dbcb40d2e07ac71d9ab32/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f7a616b6972756c6c696e2f637372662d6d6964646c65776172652e7376673f7374796c653d666c61742d737175617265)[![GitHub commits](https://camo.githubusercontent.com/ab7eaecd37f7917b4046b844351895d090a8f9213678e6fb5c3fc94b65046c31/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6d6d6974732d73696e63652f7a616b6972756c6c696e2f637372662d6d6964646c65776172652f302e312e302e7376673f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/ab7eaecd37f7917b4046b844351895d090a8f9213678e6fb5c3fc94b65046c31/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6d6d6974732d73696e63652f7a616b6972756c6c696e2f637372662d6d6964646c65776172652f302e312e302e7376673f7374796c653d666c61742d737175617265)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE)

A PSR-15 middleware to automate CSRF-token verification process

Requirements
------------

[](#requirements)

- PHP &gt;= 7.1
- A [PSR-7](https://packagist.org/providers/psr/http-message-implementation) http message implementation ([Diactoros](https://github.com/zendframework/zend-diactoros), [Guzzle](https://github.com/guzzle/psr7), [Slim](https://github.com/slimphp/Slim), etc...)
- A [PSR-15 middleware dispatcher](https://github.com/middlewares/awesome-psr15-middlewares#dispatcher)

Installation
------------

[](#installation)

This package is installable and autoloadable via Composer as [zakirullin/csrf-middleware](https://packagist.org/packages/zakirullin/csrf-middleware).

```
composer require zakirullin/csrf-middleware
```

PHP
---

[](#php)

```
$getIdentity = function (\Psr\Http\Message\ServerRequestInterface $request) {
    $session = $request->getAttribute('session');
    return $session->get('id');
};

$dispatcher = new Dispatcher([
    ...
    new \Zakirullin\Middlewares\CSRF($getIdentity, 'secret'),
    ...
]);
```

HTML
----

[](#html)

```

    ...
