TL; DR
En resumen, wp_verify_nonce()
usa ese valor porque espera ese valor como su primer argumento.
wp_verify_nonce()
argumentos
wp_verify_nonce()
recibe 2 argumentos:
$nonce
$action
El valor en el campo oculto ( 'cabfd9e42d'
en su ejemplo) representa el $nonce
.
El primer argumento es el nonce, y proviene de la solicitud
De hecho, wp_verify_nonce()
hay que usarlo así:
// here I assume that the form is submitted using 'post' as method
$verify = wp_verify_nonce($_POST['message-send']);
Entonces, el primer argumento pasado wp_verify_nonce()
es exactamente el valor que está presente en el campo oculto.
2do argumento: el wp_create_nonce()
método
Con respecto al segundo argumento, depende de cómo se construye el valor nonce.
Por ejemplo, si lo hiciste:
<?php $nonce = wp_create_nonce( 'custom-action' ); ?>
<input type="hidden" name="message-send" value="<?php echo $nonce ?>" />
Entonces necesitas hacer:
$verify = wp_verify_nonce( $_POST['message-send'], 'custom-action' );
Entonces, el segundo argumento es para lo que se utilizó como argumento wp_create_nonce()
.
2do argumento: el wp_nonce_field()
método
Si creó el nonce usando wp_nonce_field()
como:
wp_nonce_field( 'another_action', 'message-send' );
Luego debe verificar el nonce de esta manera:
$verify = wp_verify_nonce( $_POST['message-send'], 'another_action' );
Entonces, esta vez, la acción es lo que se pasa como primer argumento wp_nonce_field()
.
Resumen
Para pasar la wp_verify_nonce()
validación, debe pasar 2 argumentos a la función, uno es el valor en el campo oculto nonce, el otro es la acción y depende de cómo se construyó el valor nonce.
$nonce
valor allí: el cheque devuelve falso si$nonce
falta el valor.