当前位置: 首页 > news >正文

南宁青秀网站建设一个旅游网站建设

南宁青秀网站建设,一个旅游网站建设,app制作软件哪个好,建设旅游景点的网站的好处一、CSRF跨站请求伪造 CSRF全拼为Cross Site Request Forgery#xff0c;译为跨站请求伪造。 CSRF指攻击者盗用了你的身份#xff0c;以你的名义发送恶意请求。 包括#xff1a;以你名义发送邮件#xff0c;发消息#xff0c;盗取你的账号#xff0c;甚至于购买商品译为跨站请求伪造。 CSRF指攻击者盗用了你的身份以你的名义发送恶意请求。 包括以你名义发送邮件发消息盗取你的账号甚至于购买商品虚拟货币转账… 造成的问题个人隐私泄露以及财产安全。 CSRF请求伪造的示意图 二、CSRF防护 防护思路 1、请求转账页面的时候服务器响应转账页面在cookie中设置一个csrf_token值(随机48位字符串)。 2、客户端在进行post请求的时候在请求头中带上自定义的属性’X-CSRFToken’ 值为cookie中的csrf_token值。(要注意的是此时的post请求浏览器还会自发带着cookie中csrf_token到服务器。) 3、服务器在接收到post请求的时候首先验证响应头中的x-csrftoken值和cookies中的csrf_token是不是一致如果不一致需要return直接结束处理不进行后续工作。 完整步骤 先安装cookie-parser 生成n为随机字符串 function getRandomString(n){var str;while(str.lengthn){strMath.random().toString(36).substr(2);}return str.substr(str.length-n) } getRandomString(48); // 调用生成csrf_tokenget请求转账页面的时候在cookie中设置一个csrf_token值(随机48位字符串) 记得安装cookie-parser模块 if(req.methodGET){// 渲染转账页面的时候同时在cookie中设置csrf_token//设置cookie和sessionlet csrf_token getRandomString(48);res.cookie(csrf_token, csrf_token); res.render(temp_transfer); }接下来在前端页面中post请求时候带上自定义的属性’X-CSRFToken’ 值为cookie中的csrf_token值 $.ajax({url:/transfer,type:post,data:JSON.stringify(params),contentType:application/json,headers:{X-CSRFToken:getCookie(csrf_token)},success: function (resp) {....} })....function getCookie(name) { //获取cookie的函数var r document.cookie.match(\\b name ([^;]*)\\b);return r ? r[1] : undefined; } 最后回到服务器端处理post请求的时候判断响应头中的x-csrftoken值和cookies中的csrf_token是不是一致不一致就是CSRF验证不通过直接return ... else if(req.methodPOST){// 判断响应头中的x-csrftoken值和cookies中的csrf_token进行对比console.log(req.headers[x-csrftoken]);console.log(req.cookies[csrf_token]);if((req.headers[x-csrftoken] req.cookies[csrf_token])){console.log(csrf验证通过);}else{res.send(csrf验证不通过);return}// 以下可以开始正常处理post请求...}三、对每一个POST请求都设置CSRF防护 实际上不仅仅转账需要CSRF防护每一个post请求都需要做csrf的防护措施。 webA项目中的app.js const router express.Router();router.all(/, (req, res) {if(req.methodGET){res.render(temp_login)}... }); router.all(/transfer, (req, res) {...else if(req.methodPOST){let {to_account, money} req.body;console.log(to_account, money);//执行转账功能 ....此处省略console.log(假装执行转账操作将当前登录用户的钱转账到指定账户);console.log(已经完成转账${money}元到账户${to_account});res.json({to_account,money});} }); function csrfProtect(req, res, next){let method req.methodif(methodGET){let csrf_token getRandomString(48);res.cookie(csrf_token, csrf_token);next() //执行跳转到下一个函数执行即app.use(beforeReq,router)中的下一个}else if(methodPOST){// 判断响应头中的x-csrftoken值和cookies中的csrf_token进行对比console.log(req.headers[x-csrftoken]);console.log(req.cookies[csrf_token]);if((req.headers[x-csrftoken] req.cookies[csrf_token])){console.log(csrf验证通过);next()}else{res.send(csrf验证不通过!);return}} }app.use(csrfProtect,router)
http://www.pierceye.com/news/519100/

相关文章:

  • 淘宝上网站建设续费个人网站做什么类型的
  • 牙克石网站建设wordpress 跳过ftp
  • 中国建设银行官网站e路通下载店铺设计图纸及效果图大全
  • 福州网站推广公司烟台网络公司有哪些
  • 福建省建设注册管理中心网站那些做面点的网站好
  • 天津网站建设方案托管wordpress 批量删除
  • 网站后台管理系统域名在线设计房屋装修
  • 郑州网站建设工作室wordpress 编辑器字号
  • 内容聚合网站开发教程WordPress文章首页缩进
  • saas云建站平台源码新冠2024中国又要封城了
  • 济南网站建设认可搜点网络滨州网站建设
  • 政务公开及网站建设意见网站的策划方案怎么写
  • 网站培训制度郑州建网站哪个公司好
  • 网站建设优化怎么做微信公众平台开发网站
  • 网站建设的什么是网站建设的第一阶段公司简介概况怎么写
  • 玛伊网站做兼职加入要多少钱装修房子的app软件哪个好
  • 免费空间asp网站公众号编辑器排行榜
  • 鲜花培训网站建设网站建设技术部奖惩制度
  • 国内优秀设计网站站长营销型网站建设 案例
  • 织梦网站维护唐山网站建设哪家专业
  • 网上打字兼职正规网站深圳各区房价一览表
  • 怎样建设网站是什么怎么看网站空间多大
  • 如何备份网站的手机版免费申请微网站
  • 淘宝不允许 网站建设wordpress页面无法编辑器
  • 个人怎么做课程网站seo神马网站推广器
  • 做购物比价的网站有哪些外贸移动商城网站建设
  • 网站开发的特点做直通车任务的网站
  • 分类信息系统网站模板wordpress黑客
  • 推荐一个代做毕业设计的网站云服务器怎么搭建
  • 网站制作计算机电商运营seo