dev-master
9999999-devResonant Core's Anti-CSRF Security Library
(MIT or AGPL-3.0)
The Development Requires
security session csrf appsec
Resonant Core's Anti-CSRF Security Library
There aren't any good session-powered CSRF prevention libraries. By good we mean:, (*2)
Warning - Do not use in any project where all $_SESSION
data is stored
client-side in a cookie. This will quickly run up the 4KB storage max for
an HTTP cookie., (*3)
See autoload.php
for an SPL autoloader., (*4)
First, add a filter like this one:, (*5)
use \ParagonIE\AntiCSRF\AntiCSRF; $twigEnv->addFunction( new \Twig\TwigFunction( 'form_token', function($lock_to = null) { static $csrf; if ($csrf === null) { $csrf = new AntiCSRF; } return $csrf->insertToken($lock_to, false); }, ['is_safe' => ['html']] ) );
Next, call the newly created form_token function from your templates., (*6)
$csrf = new \ParagonIE\AntiCSRF\AntiCSRF; if (!empty($_POST)) { if ($csrf->validateRequest()) { // Valid } else { // Log a CSRF attack attempt } }
If your company uses this library in their products or services, you may be interested in purchasing a support contract from Paragon Initiative Enterprises., (*7)
Resonant Core's Anti-CSRF Security Library
(MIT or AGPL-3.0)
security session csrf appsec