TL; DR
Singkatnya, wp_verify_nonce()
gunakan nilai itu karena mengharapkan nilai itu sebagai argumen pertama.
wp_verify_nonce()
argumen
wp_verify_nonce()
menerima 2 argumen:
$nonce
$action
Nilai dalam bidang tersembunyi ( 'cabfd9e42d'
dalam contoh Anda) mewakili $nonce
.
Argumen pertama adalah yang pertama, dan berasal dari permintaan
Bahkan, wp_verify_nonce()
harus digunakan seperti ini:
// here I assume that the form is submitted using 'post' as method
$verify = wp_verify_nonce($_POST['message-send']);
Jadi argumen pertama yang diteruskan wp_verify_nonce()
adalah persis nilai yang ada di bidang tersembunyi.
Argumen ke-2: wp_create_nonce()
metode
Mengenai argumen kedua, itu tergantung pada bagaimana Anda membangun nilai nonce.
Misal jika Anda melakukannya:
<?php $nonce = wp_create_nonce( 'custom-action' ); ?>
<input type="hidden" name="message-send" value="<?php echo $nonce ?>" />
Maka yang perlu Anda lakukan:
$verify = wp_verify_nonce( $_POST['message-send'], 'custom-action' );
Jadi, argumen kedua adalah apa yang digunakan sebagai argumen wp_create_nonce()
.
Argumen ke-2: wp_nonce_field()
metode
Jika Anda membuat nonce menggunakan wp_nonce_field()
like:
wp_nonce_field( 'another_action', 'message-send' );
Maka Anda perlu memverifikasi nonce seperti:
$verify = wp_verify_nonce( $_POST['message-send'], 'another_action' );
Jadi, kali ini, tindakan adalah apa pun yang dilewati sebagai argumen pertama wp_nonce_field()
.
Rekap
Untuk lulus wp_verify_nonce()
validasi, Anda harus melewati 2 argumen ke fungsi, satu adalah nilai di bidang tersembunyi nonce, yang lain adalah tindakan , dan tergantung pada bagaimana nilai nonce dibangun.
$nonce
nilai di sana - cek mengembalikan false jika$nonce
nilainya hilang.