您现在的位置是:首页 > cms教程 > WordPress教程WordPress教程
WordPress中的Nonce使用详解
尔岚2023-07-06 16:40:09WordPress教程已有87人查阅
导读Nonce是number used once的缩写,Wordpress的nonce不是数字,而一是串由数字和字符组成的Hash值,不仅只能使用一次,还同时具有生命周期(lifetime)
Nonce是number used once的缩写,Wordpress的nonce不是数字,而一是串由数字和字符组成的Hash值,不仅只能使用一次,还同时具有生命周期(lifetime),在生命周期内,针对每个用户,同样的参数会生成同样的nonce值,直到生命周期结束。这篇文章我们就来介绍一下如何用Nonce来防止CSRF攻击。
创建一个Nonce
Nonce可以被放在Url请求中,也可以放在一个Form的Hidden元素中,然后在Ajax请求时,通过Javascript来获取他它。一个Nonce生命周期只在当前Session中,如果你退出登录后再次登录,之前的nonce也都会失效。
向URL中添加nonce
你可以通过wp_nonce_url()方法来向Url中添加一个Nonce:
其中$bare_url(必选)为要添加nonce的url,而$action为为nonce定义的动作名字,可选,默认为-1。
默认情况下,生成的nonce在链接中的名字为_wpnonce,为了避免可能的冲突,在Wordpress3.6版本后,wp_nonce_url增加了可选的$name参数,可以让用户自己指定nonce在链接中的名字。如:
向Form中添加nonce
你可以能过wp_nonce_field()方法向表单中添加一个hidden元素:
调用上面的方法,会生成类似下面的代码:
单独生成一个nonce
如果你只是想要生成一个独立的nonce,可以过wp_create_nonce()方法:
同样的,$action为可选参数,默认为-1。上面的方 返回类似“295a686963”的结果。
验证nonce有效性
验证表单中的nonce
在Admin管理界面,你可以通过check_admin_referer方法来验证Url中Nonce的有效性:
下面是一个例子演示如何在插件中使用check_admin_referer验证nonce:
验证方法:
验证Ajax中的nonce
如果要检查Ajax请求中的nonce有效性,可以使用check_ajax_referer()方法:
$ 指定如果$nonce无效,是否结束脚本执行。(默认为True)
一个简单使用check_ajax_referer的例子:
在向后通过下面的代码进行验证:验证独立生成的nonce
本文标签:
很赞哦! (0)
暂无内容 |
暂无内容 |
相关文章
暂无内容 |
暂无内容 |
随机图文
修改WordPress中已有头像的方法
如何修改 WordPress 的默认 Gravatar 头像,也就是说,如果访客有自己的Gravatar头像就显示自己的,如果没有就显示网站指定的。WordPress默认的头像自定义修改成功!wordpress模板文件函数介绍
修改主题时发现好多WordPress主题函数都不了解,因此网上摘抄了一份放在自己博客上,便于以后好找。在WordPress中如何按你的意愿显示页面,关键看你是否了解WordPress主题模板页CentOS 7安装WordPress的方法示例
一、搭建Wordpress服务器环境需求:php 5.2.4 或者更高版本、MySQL 5.0 或者更高版本。二、搭建Wordpress平台:以下以Wordpress3.92版本为例进行说明,如果大家想安装最近版本lnmp环境下搭建wordpress的方法
今天和大家说下lnmp环境下如何搭建wordpress。1.前去lnmp的官网下载并安装lnmp到linux服务器下,官网网址:https://lnmp.org/,跟着官网的步骤走,lnmp的环境是不会有问题的一般。
留言与评论 (共有 0 条评论) |