TL; DR
In breve, wp_verify_nonce()
usa quel valore perché si aspetta quel valore come primo argomento.
wp_verify_nonce()
argomenti
wp_verify_nonce()
riceve 2 argomenti:
$nonce
$action
Il valore nel campo nascosto ( 'cabfd9e42d'
nel tuo esempio) rappresenta il $nonce
.
Il primo argomento è il nonce e proviene dalla richiesta
In effetti, wp_verify_nonce()
devono essere usati in questo modo:
// here I assume that the form is submitted using 'post' as method
$verify = wp_verify_nonce($_POST['message-send']);
Quindi il primo argomento passato wp_verify_nonce()
è esattamente il valore presente nel campo nascosto.
2 ° argomento: il wp_create_nonce()
metodo
Per quanto riguarda il secondo argomento, dipende da come si costruisce il valore nonce.
Ad esempio se hai fatto:
<?php $nonce = wp_create_nonce( 'custom-action' ); ?>
<input type="hidden" name="message-send" value="<?php echo $nonce ?>" />
Quindi devi fare:
$verify = wp_verify_nonce( $_POST['message-send'], 'custom-action' );
Quindi, il secondo argomento è quello a cui è stato utilizzato come argomento wp_create_nonce()
.
2 ° argomento: il wp_nonce_field()
metodo
Se hai creato il nonce usando wp_nonce_field()
like:
wp_nonce_field( 'another_action', 'message-send' );
Quindi è necessario verificare il nonce in questo modo:
$verify = wp_verify_nonce( $_POST['message-send'], 'another_action' );
Quindi, questa volta, l'azione è qualunque cosa passata come primo argomento a wp_nonce_field()
.
Ricapitolare
Per passare la wp_verify_nonce()
convalida è necessario passare 2 argomenti alla funzione, uno è il valore nel campo nascosto nonce, l'altro è l' azione e dipende da come è stato creato il valore nonce.
$nonce
valore lì - il controllo restituisce false se il$nonce
valore è mancante.