2017 © Pedro PelĂĄez
 

wordpress-plugin nonce

Use wordpress nonce functions in a object oriented environment.

image

wberredo/nonce

Use wordpress nonce functions in a object oriented environment.

  • Friday, March 31, 2017
  • by WBerredo
  • Repository
  • 0 Watchers
  • 0 Stars
  • 10 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 5 Versions
  • 11 % Grown

The README.md

Latest Stable Version Latest Unstable Version License, (*1)

nonce

Use wordpress nonce functions in a object oriented environment., (*2)

Installation

Add this package as requirement at your composer.json file and then run 'composer update', (*3)

"wberredo/nonce": "1.0.*"

Or directly run, (*4)

composer require wberredo/nonce

Setup

If you want to change some configs before you start to generate nonces, you will use Nonce_Config class., (*5)

// set lifetime for 4 hours
Nonce_Config::set_nonce_lifetime( 4 * HOUR_IN_SECONDS );

// set message showed when showAys is called
Nonce_Config::set_error_message( "Are you sure" );

Usage

To create a nonce you have to use the Nonce_Generator class and to verify a nonce already created you will need the Nonce_Verifier class., (*6)

Nonce_Generator

To generate a nonce, (*7)

$nonce_gen = new Nonce_Generator( "default-action" );
$nonce = $nonce_gen->generate_nonce();

To generate a URL nonce, (*8)

// you can also set parameters with set functions
$nonce_gen = new Nonce_Generator();
$complete_url = $nonce_gen
                    ->set_url( "http://github.com/WBerredo" )
                    ->set_action( "default_action" )
                    ->generate_nonce_url();

To retrieve a nonce field., (*9)

$nonce_gen = new Nonce_Generator();
$nonceField = $nonce_gen
                    ->set_action( "default_action" )
                    ->generate_nonce_field( "nonce", "referer", "do_not_echo" );

// to print the nonce field you have to set the last param as true
$nonce_gen
    ->generate_nonce_field( "nonce", "referer", "echo" );

To Display 'Are you sure you want to do this?' message (or the new message set with Nonce_Config#setErrorMessage) to confirm the action being taken., (*10)

Nonce_Generator::show_ays( 'action' );

Nonce_Verifier

To verify a nonce, (*11)

if ( Nonce_Verifier::verify( $nonce, $defaultAction ) ) {
// if is valid
} else {
// if is not valid
}

To verify a URL nonce, (*12)

if ( Nonce_Verifier::verify_url( $complete_url, $defaultAction ) ) { 
// if is valid
} else {
// if is not valid
}

To tests either if the current request carries a valid nonce, or if the current request was referred from an administration screen, (*13)

if ( Nonce_Verifier::verify_admin_referer( $defaultAction ) ) {
// if is valid
} else {
// if is not valid
}

To verify the AJAX request, to prevent any processing of requests which are passed in by third-party sites or systems., (*14)

if ( Nonce_Verifier::verify_ajax_referer( $defaultAction ) ) {
// if is valid
} else {
// if is not valid
}

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Tests

  1. Install PHPUnit. WordPress uses PHPUnit, the standard for unit testing PHP projects. Installation instructions can be found in the PHPUnit manual or on the PHPUnit Github repository., (*15)

  2. Check out the test repository. The WordPress tests live in the core development repository, at https://develop.svn.wordpress.org/trunk/:, (*16)

    svn co https://develop.svn.wordpress.org/trunk/ wordpress-develop
    cd wordpress-develop
    
  3. Create an empty MySQL database. The test suite will delete all data from all tables for whichever MySQL database it is configured. Use a separate database., (*17)

  4. Set up a config file. Copy wp-tests-config-sample.php to wp-tests-config.php, and enter your database credentials. Use a separate database., (*18)

  5. Change the path of Wordpress project in the bootstrap.php file of the plugin, (*19)

    /**
    * The path to the WordPress tests checkout.
    */
    define( 'WP_TESTS_DIR', '/home/berredo/Documents/repository/wordpress/wordpress-develop/tests/phpunit/' );
    
  6. Go to plugin's folder, (*20)

    cd vendor/wberredo/nonce
    
  7. Run phpunit to test, (*21)

    phpunit 
    

Thanks to

License

MIT, (*22)

The Versions

31/03 2017

dev-master

9999999-dev https://github.com/wberredo/nonce

Use wordpress nonce functions in a object oriented environment.

  Sources   Download

MIT

by Wesley BerrĂȘdo

wordpress wp oop nonce

31/03 2017

dev-wp-codex

dev-wp-codex https://github.com/wberredo/nonce

Use wordpress nonce functions in a object oriented environment.

  Sources   Download

MIT

by Wesley BerrĂȘdo

wordpress wp oop nonce

31/03 2017

2.0.0

2.0.0.0 https://github.com/wberredo/nonce

Use wordpress nonce functions in a object oriented environment.

  Sources   Download

MIT

by Wesley BerrĂȘdo

wordpress wp oop nonce

25/02 2017

1.0.0

1.0.0.0 https://github.com/wberredo/nonce

Use wordpress nonce functions in a object oriented environment.

  Sources   Download

MIT

by Wesley BerrĂȘdo

wordpress wp oop nonce

25/02 2017

dev-development

dev-development https://github.com/wberredo/nonce

Use wordpress nonce functions in a object oriented environment.

  Sources   Download

MIT

by Wesley BerrĂȘdo

wordpress wp oop nonce