TL; DR
Em resumo, wp_verify_nonce()
usa esse valor porque espera esse valor como seu primeiro argumento.
wp_verify_nonce()
argumentos
wp_verify_nonce()
recebe 2 argumentos:
$nonce
$action
O valor no campo oculto ( 'cabfd9e42d'
no seu exemplo) representa o $nonce
.
O primeiro argumento é o nonce e vem da solicitação
De fato, wp_verify_nonce()
deve ser usado assim:
// here I assume that the form is submitted using 'post' as method
$verify = wp_verify_nonce($_POST['message-send']);
Portanto, o primeiro argumento passado wp_verify_nonce()
é exatamente o valor presente no campo oculto.
Segundo argumento: o wp_create_nonce()
método
Em relação ao segundo argumento, isso depende de como você constrói o valor nonce.
Por exemplo, se você fez:
<?php $nonce = wp_create_nonce( 'custom-action' ); ?>
<input type="hidden" name="message-send" value="<?php echo $nonce ?>" />
Então você precisa fazer:
$verify = wp_verify_nonce( $_POST['message-send'], 'custom-action' );
Portanto, o segundo argumento é o que foi usado como argumento wp_create_nonce()
.
Segundo argumento: o wp_nonce_field()
método
Se você criou o nonce usando o seguinte wp_nonce_field()
:
wp_nonce_field( 'another_action', 'message-send' );
Então você precisa verificar o nonce assim:
$verify = wp_verify_nonce( $_POST['message-send'], 'another_action' );
Portanto, desta vez, a ação é o que passou como primeiro argumento para wp_nonce_field()
.
Recapitular
Para passar na wp_verify_nonce()
validação, você precisa passar 2 argumentos para a função, um é o valor no campo oculto nonce, o outro é a ação e depende de como o valor nonce foi construído.
$nonce
valor - a verificação retorna false se o$nonce
valor estiver ausente.