CSRF Protector library: standalone library for CSRF mitigation
PHP JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.


CSRF Protector

Todo Status Build Status codecov
CSRF protector php, a standalone php library for csrf mitigation in web applications. Easy to integrate in any php web app.

Add to your project using packagist

Add a composer.json file to your project directory

   "require": {
       "owasp/csrf-protector-php": "dev-master"

Then open terminal (or command prompt), move to project directory and run

composer install


php composer.phar install

This will add CSRFP (library will be downloaded at ./vendor/owasp/csrf-protector-php) to your project directory. View packagist.org for more help with composer!


For composer installations: Copy the config.sample.php file into your root folder at config/csrf_config.php For non-composer installations: Copy the libs/csrf/config.sample.php file into libs/csrc/config.php Edit config accordingly. See Detailed Information link below.

How to use

include_once __DIR__ .'/vendor/owasp/csrf-protector-php/libs/csrf/csrfprotector.php';

//Initialise CSRFGuard library

simply include the library and call the init() function!

Detailed information @Project wiki on github

More information @OWASP wiki


  • Fork the repo
  • Create your branch
  • Commit your changes
  • Create a pull request


This version (master) requires the clients to have Javascript enabled. However if your application can work without javascript & you require a nojs version of this library, check our nojs version


Join Discussions on the mailing list

For any other queries contact me at: minhaz@owasp.org


  1. What happens if token expires? - https://github.com/mebjas/CSRF-Protector-PHP/wiki/what-if-token-expires
  2. Secure flag in cookie? - https://github.com/mebjas/CSRF-Protector-PHP/issues/54
  3. NoJS support? - https://github.com/mebjas/CSRF-Protector-PHP/tree/nojs-support