web-dev-qa-db-fra.com

Le nonce devrait-il être désinfecté?

La directive générale est que nous devrions effacer toutes les entrées d'utilisateurs avant de les utiliser.

Maintenant, ma question est de savoir si cela s’applique ou non au nonce.

Laquelle est correcte?

wp_verify_nonce( sanitize_text_field( $_GET['some_nonce'] ), 'some_nonce' );

ou

wp_verify_nonce( _GET['some_nonce'], 'some_nonce' );

2
Sudar

La désinfection est nécessaire lorsque vous insérez une entrée utilisateur dans la base de données ou la sortie au format HTML, etc. Ici, vous effectuez simplement une comparaison de chaîne.

La fonction wp_verify_nonce vérifie la valeur $nonce comme ceci:

if ( hash_equals( $expected, $nonce ) ) {
    return 1;
}

Pour cela, vous n'avez pas besoin de désinfection. Donc, ce qui va bien:

wp_verify_nonce( $_GET['some_nonce'], 'some_nonce' );
3
Fayaz