使用Nonce(number used once)是防止WordPress主题或者插件受到CSRF (cross-site request forgery) 攻击最好的方法,WordPress Nonce 通过提供一个随机数,来实现在数据请求
(比如,在后台保存插件选项,AJAS 请求,执行其他操作等等)的时候防止未授权的请求。
使用流程
1、首先使用一个唯一的标示符生成 nonce
2、将生成的 nonce 和链接或者表单中的其他数据一起传递给脚本
3、在做其他事情之前验证 nonce
首先可以使用 wp_create_nonce() 函数创建 nonce
$nonce= wp_create_nonce(‘xxzhuti’);
然后将生成 $nonce 的值作为参数传递给请求中,如:
- <a href="admin.php?page=xxzhuti&_wpnonce=<?php echo $nonce ?>">
最后在执行其他动作的时候,使用 wp_verify_nonce() 函数验证下 nonce。
- $nonce = $_REQUEST['_wpnonce'];
- if (!wp_verify_nonce($nonce, 'xxzhuti') ) {
- wp_die("非法操作");
- }
这种方式是用的最多的一种,当然wordpress还帮我们封装了一下nonce的函数,比如wp_nonce_field(),可以直接生成隐藏表单。
标签:Nonce,nonce,wp,wordpress,CSRF,使用 From: https://www.cnblogs.com/alleyonline/p/17392556.html