首页 > 其他分享 >wordpress中使用Nonce防止网站受到CSRF攻击

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

时间:2023-05-11 23:36:16浏览次数:42  
标签:Nonce nonce wp wordpress 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 的值作为参数传递给请求中,如:

  1. <a href="admin.php?page=xxzhuti&_wpnonce=<?php echo $nonce ?>">

最后在执行其他动作的时候,使用 wp_verify_nonce() 函数验证下 nonce。

  1. $nonce = $_REQUEST['_wpnonce'];
  2. if (!wp_verify_nonce($nonce, 'xxzhuti') ) {
  3. wp_die("非法操作");
  4. }

这种方式是用的最多的一种,当然wordpress还帮我们封装了一下nonce的函数,比如wp_nonce_field(),可以直接生成隐藏表单。

标签:Nonce,nonce,wp,wordpress,CSRF,使用
From: https://www.cnblogs.com/alleyonline/p/17392556.html

相关文章

  • wordpress 为自定义类型文章新增自定义字段
    wordpress强大之处在于有很强的可自定义性,使得插件、主题的开发变得及其便利。就拿我们今天要说的自定义文章添加自定义字段来说,就很便捷。        比如我们要录入一个客户信息到wordpress中,那么需要的字段可不仅仅是什么标题、内容、摘要这么简单了,我们可能需要录入客户......
  • csrf与auth初识BBS项目
    csrf相关的装饰器#与csrf验证相关#打开csrf中间件后,方法都需要验证''' 打开csrf的中间件之后,有几个方法不验证 关闭csrf的中间件之后,有几个方法验证'''fromdjango.views.decorators.csrfimportcsrf_exempt,csrf_protect@csrf_exempt#不再检测,局部禁用(前提是全站......
  • Django之csrf跨站请求
    目录CSRF_TOKEN跨站请求伪造在form表单中应用:在Ajax中应用:关于CSRF中间件的全站禁用和局部禁用在CBV中使用:CSRF_TOKEN跨站请求伪造介绍:浅谈CSRF(Cross-siterequestforgery)跨站请求伪造在form表单中应用:<formaction=""method="post">{%csrf_token%}<p>用户名:<in......
  • 5.8之常见网络攻击及防御方法总结(XSS、SQL注入、CSRF攻击)
    目录背景知识XSS攻击SQL注入CSRF攻击背景知识从互联网诞生之初起,无时无刻不存在网络攻击,其中XSS攻击和SQL注入攻击是网站应用攻击的最主要的两种手段,全球大约70%的网站应用攻击都来自XSS攻击和SQL注入攻击。此外,常用的网站应用攻击还包括CSRF、Session劫持等。XSS攻击全......
  • 一文深入了解CSRF漏洞
    1.1.定义跨站请求伪造(英语:Cross-siterequestforgery),也被称为one-clickattack或者sessionriding,通常缩写为CSRF或者XSRF,是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨站脚本(XSS)相比,XSS利用的是用户对指定网站的信任,CSRF利用的是网站......
  • Python wordpress-xmlrpc错误:xml.parsers.expat.ExpatError: XML or text declaration
    解决方法:修改打开client.py文件原代码:deffeed(self,data):self._parser.Parse(data,0)改成如下的代码:deffeed(self,data):self._parser.Parse(data.strip(),0)......
  • Django操作session和中间件以及csrf跨站服务
    Django操作session#cookie保存在浏览器,数据不安全session可以将用户信息保存在服务端,基于cookie工作的1.用户信息认证2.生成随机字符串3.随机字符串和用户信息绑定一起,保存,默认在mysql4.把随机字符串返回到浏览器,将其保存,再次访问直接带其一起传输至服务端,服务端用其进......
  • csrf跨站请求伪造,相关校验,装饰器
    csrf跨站请求伪造钓鱼网站:模仿一个正规的网站让用户在该网站上做操作但是操作的结果会影响到用户正常的网站账户但是其中有一些猫腻 eg:英语四六级考试需要网上先缴费但是你会发现卡里的钱扣了但是却交到了一个莫名其妙的账户并不是真正的四六级官方账户模拟钓......
  • csrf跨站请求伪造与校验策略
    目录一、csrf跨站请求伪造概念引入概念讲解二、csrf校验策略概念讲解form表单操作csrf策略ajax请求csrf策略三、csrf相关装饰器一、csrf跨站请求伪造概念引入简介我们通过模仿一个钓鱼网站来提现csrf跨站请求伪造。钓鱼网站:模仿一个正规的网站让用户在该网站上做操作......
  • wordpress插件:WPFront Scroll Top返回顶部(WPFront Scroll Top 2.0.7.08086 / wordpr
     一,安装插件/设置插件:插件->安装插件->用top关键字进行搜索,然后选择WPFrontScrollTop点立即安装按钮安装完成后,点启用按钮选中前两项选中前两项后,点保存更改按钮二,测试效果说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architec......