返回顶部
首页 > 资讯 > CMS >WordPress中的Nonce有什么用
  • 503
分享到

WordPress中的Nonce有什么用

2023-06-09 09:06:52 503人浏览 薄情痞子
摘要

这篇文章主要介绍WordPress中的Nonce有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!WordPress中的NonceNonce是number used once的缩写,Wordpress的nonce

这篇文章主要介绍WordPress中的Nonce有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

WordPress中的Nonce

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:

wp_nonce_url( $actionurl, $action, $name );// 例如:$complete_url = wp_nonce_url( $bare_url, 'trash-post_'.$post->ID );

其中$bare_url(必选)为要添加nonce的url,而$action为为nonce定义的动作名字,可选,默认为-1。

默认情况下,生成的nonce在链接中的名字为_wpnonce,为了避免可能的冲突,在Wordpress3.6版本后,wp_nonce_url增加了可选的$name参数,可以让用户自己指定nonce在链接中的名字。如:

$complete_url = wp_nonce_url( $bare_url, 'trash-post_'.$post->ID, 'my_nonce' );

向Form中添加nonce

你可以能过wp_nonce_field()方法向表单中添加一个hidden元素:

PHPwp_nonce_field( $action, $name, $referer, $echo )//例如 :wp_nonce_field( 'delete-comment_'.$comment_id );wp_nonce_field( $action, $name, $referer, $echo )//例如 :wp_nonce_field( 'delete-comment_'.$comment_id );

调用上面的方法,会生成类似下面的代码:

<input type="hidden" id="_wpnonce" name="_wpnonce" value="796c7766b1" /><input type="hidden" name="_wp_Http_referer" value="/wp-admin/edit-comments.php" />

单独生成一个nonce

如果你只是想要生成一个独立的nonce,可以过wp_create_nonce()方法:

wp_create_nonce( $action );// 例如:$nonce = wp_create_nonce( 'my-action_'.$post->ID );

同样的,$action为可选参数,默认为-1。上面的方法会返回类似“295a686963”的结果。

验证nonce有效性

验证表单中的nonce

在Admin管理界面,你可以通过check_admin_referer方法来验证Url中Nonce的有效性:

check_admin_referer( $action, $query_arg );

下面是一个例子演示如何在插件中使用check_admin_referer验证nonce:

<form method="post">   <!-- some inputs here -->   <?php wp_nonce_field( 'name_of_my_action', 'name_of_nonce_field' ); ?></form>

验证方法:

check_admin_referer( 'name_of_my_action', 'name_of_nonce_field' );

验证Ajax中的nonce

如果要检查Ajax请求中的nonce有效性,可以使用check_ajax_referer()方法:

check_ajax_referer( $action, $query_arg, $die )

$die指定如果$nonce无效,是否结束脚本执行。(默认为True)

一个简单使用check_ajax_referer的例子:

<?php//Set Your Nonce$ajax_nonce = wp_create_nonce( "my-special-string" );?> <script type="text/javascript">Jquery(document).ready(function($){    var data = {        action: 'my_action',        security: '<?php echo $ajax_nonce; ?>',        my_string: 'Hello World!'    };    $.post(ajaxurl, data, function(response) {        alert("Response: " + response);    });});</script>

在向后通过下面的代码进行验证:

add_action( 'wp_ajax_my_action', 'my_action_function' );function my_action_function() {    check_ajax_referer( 'my-special-string', 'security' );    echo sanitize_text_field( $_POST['my_string'] );    wp_die();}

验证独立生成的nonce

wp_verify_nonce( $nonce, $action );

以上是“WordPress中的Nonce有什么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网CMS频道!

--结束END--

本文标题: WordPress中的Nonce有什么用

本文链接: https://lsjlt.com/news/255508.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • WordPress中的Nonce有什么用
    这篇文章主要介绍WordPress中的Nonce有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!WordPress中的NonceNonce是number used once的缩写,Wordpress的nonce...
    99+
    2023-06-09
  • wordpress有什么功能
    wordpress功能有:1、简单易用的界面;2、主题和模板;3、插件扩展;4、响应式设计;5、轻松的媒体管理;6、多用户支持;7、搜索引擎优化(SEO);8、社交媒体整合;9、网站安全;10、扩展性和定制性。本教程操作环境:windows...
    99+
    2023-07-17
  • Wordpress中Keylogger事件的作用是什么
    Wordpress中Keylogger事件的作用是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。0x01 事件描述起因是WordPress被注入了一个混淆的js脚...
    99+
    2023-06-19
  • wordpress建站有什么好处
    wordpress建站的好处有以下几点WordPress具有非常强大的管理功能,具有发垃圾留言、搜索引擎优化、数据库等插件,网站模板丰富;另外,WordPress在网站数据备份方面也做的非常好,不需要担心数据丢失的问题。WordPress有...
    99+
    2024-04-02
  • 基于Yar的WordPress微博墙插件有什么用
    这篇文章主要介绍了基于Yar的WordPress微博墙插件有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。基于Yar的WordPress微博墙插件在现在移动互联网时代,...
    99+
    2023-06-20
  • WordPress漏洞扫描工具WPScan有什么用
    这篇文章将为大家详细讲解有关WordPress漏洞扫描工具WPScan有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。WordPress漏洞扫描工具WPScanWordPress是主流的PHP网站模...
    99+
    2023-06-04
  • WordPress插件扫描工具plecost有什么用
    这篇文章主要介绍了WordPress插件扫描工具plecost有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。WordPress插件扫描工具plecostWordPre...
    99+
    2023-06-04
  • wordpress使用的方法有哪些
    WordPress可以使用以下几种方法:1. 安装WordPress软件:首先,您需要下载WordPress软件并将其安装在您的服务...
    99+
    2023-09-13
    wordpress
  • 怎么快速修改WordPress中已有的头像
    本篇内容介绍了“怎么快速修改WordPress中已有的头像”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!如何修改 WordPress 的默认...
    99+
    2023-06-20
  • 怎么在WordPress中使用Laravel
    这篇文章主要介绍了怎么在WordPress中使用Laravel的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么在WordPress中使用Laravel文章都会有所收获,下面我们一起来看看吧。Corcel 让你...
    99+
    2023-06-26
  • wordpress与PHP的区别是什么
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑wordpress是什么WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPres...
    99+
    2020-08-18
    wordpress PHP
  • WordPress的插件BuddyPress到底是用来做什么的
    BuddyPress是一个开源的WordPress插件,用于创建和管理社交网络网站。它允许用户在WordPress网站上创建个人资料...
    99+
    2023-09-08
    WordPress
  • WordPress MU插件的概念是什么
    WordPress MU插件是一种插件,用于扩展WordPress多用户(MU)功能。MU是一个WordPress版本,允许用户创建...
    99+
    2023-10-23
    WordPress
  • 少用的WordPress模板标签有哪些
    小编给大家分享一下少用的WordPress模板标签有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!自从WordPress出现以来,它就一直为我们提供了大量的模...
    99+
    2023-06-25
  • 枚举WordPress用户的方法有哪些
    枚举WordPress用户的方法有以下几种: 使用用户列表页面:WordPress后台有一个用户列表页面,可以显示所有注册用户的...
    99+
    2023-10-21
    WordPress
  • SQL中的CTE有什么用
    小编给大家分享一下SQL中的CTE有什么用,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!CTE表示公用表表达式,是一个临时命名结果集,始终返回结果集。它是为了简化SQL查询,而被标准SQL引入...
    99+
    2024-04-02
  • MySQL中的mysqladmin有什么用
    本篇内容介绍了“MySQL中的mysqladmin有什么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • ES6中的Proxy有什么用
    这篇文章主要介绍了ES6中的Proxy有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 创建一个简单的Pr...
    99+
    2024-04-02
  • javascript中的let有什么用
    本篇内容主要讲解“javascript中的let有什么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript中的let有什么用”吧! ...
    99+
    2024-04-02
  • node中的buffer有什么用
    本文小编为大家详细介绍“node中的buffer有什么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“node中的buffer有什么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作