wordpress中使用Nonce防止网站受到CSRF攻击

使用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(),可以直接生成隐藏表单。

相关文章

我想将wordpress的默认接口路由改掉,愿意是默认的带一个 wp...
wordpress自定义分类法之后,我看到链接都自动在后面添加了一...
事情是这样的,我用 get_post_type 函数创建了一个自定义分类...
最近网站莫名其妙的被顶上了,过一个多小时,就注册一个账号...
最近服务器要到期了,就想着把网站转移到另外一台服务器,本...
今天在写wordpress的接口,然后碰到个奇怪的问题,怎么访问都...