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

如何制作家具网站wordpress js插件开发教程视频教程

如何制作家具网站,wordpress js插件开发教程视频教程,为什么打开Wordpress很慢,磁力下载最近研究了下基于token的身份验证#xff0c;并将这种机制整合在个人项目中。现在很多网站的认证方式都从传统的seesioncookie转向token校验。对比传统的校验方式#xff0c;token确实有更好的扩展性与安全性。    传统的sessioncookie身份验证    由于HTTP是无状态的…   最近研究了下基于token的身份验证并将这种机制整合在个人项目中。现在很多网站的认证方式都从传统的seesioncookie转向token校验。对比传统的校验方式token确实有更好的扩展性与安全性。    传统的sessioncookie身份验证    由于HTTP是无状态的它并不记录用户的身份。用户将账号与密码发送给服务器后后台通过校验但是并没有记录状态于是下一次用户的请求仍然需要校验身份。为了解决这一问题需要在服务端生成一条包含用户身份的记录也就是session再将这条记录发送给用户并存储在用户本地即cookie。接下来用户的请求都会带上这条cookie若客户端的cookie与服务端的session能对应上则说明用户身份验证通过。    token身份校验    流程大致如下    第一次请求时用户发送账号与密码    后台校验通过则会生成一个有时效性的token,再将此token发送给用户    用户获得token后将此token存储在本地一般存储在localstorage或cookie    之后的每次请求都会将此token添加在请求头里所有需要校验身份的接口都会被校验token若token解析后的数据包含用户身份信息则身份验证通过。    对比传统的校验方式token校验有如下优势    在基于token的认证token通过请求头传输而不是把认证信息存储在session或者cookie中。这意味着无状态。你可以从任意一种可以发送HTTP请求的终端向服务器发送请求。    可以避免CSRF攻击    当在应用中进行 session的读写或者删除操作时会有一个文件操作发生在操作系统的temp 文件夹下至少在第一次时。假设有多台服务器并且 session 在第一台服务上创建。当你再次发送请求并且这个请求落在另一台服务器上session 信息并不存在并且会获得一个“未认证”的响应。我知道你可以通过一个粘性 session 解决这个问题。然而在基于 token 的认证中这个问题很自然就被解决了。没有粘性 session 的问题因为在每个发送到服务器的请求中这个请求的 token 都会被拦截。    下面介绍一下利用nodejwt(jwt教程)搭建简易的token身份校验    示例    当用户第一次登录时提交账号与密码至服务器服务器校验通过则生成对应的token代码如下    const fs require(fs);    const path require(path);    const jwt require(jsonwebtoken);    //生成token的方法    function generateToken(data){    let created Math.floor(Date.now() / 1000);    let cert fs.readFileSync(path.join(__dirname, ../config/pri.pem));//私钥    let token jwt.sign({    data,    exp: created 3600 * 24    }, cert, {algorithm: RS256});    return token;    }    //登录接口    router.post(/oa/login, async (ctx, next) {    let data ctx.request.body    let {name, password} data;    let sql SELECT uid FROM t_user WHERE name? and password? and is_delete0, value [name, md5(password)];    await db.query(sql, value).then(res {    if (res res.length 0) {    let val res[0];    let uid val[uid];    let token generateToken({uid});    ctx.body {    ...Tips[0], data: {token}    }    } else {    ctx.body www.michenggw.com/ Tips[1006];    }    }).catch(e www.yigouyule2.cn {    ctx.body www.mhylpt.com/ Tips[1002];    });    });    用户通过校验将获取到的token存放在本地    ?    1    store.set(loginedtoken,token);//store为插件    之后客户端请求需要验证身份的接口都会将token放在请求头里传递给服务端   service.interceptors.request.use(config {    let params config.params |www.gcyl158.com| {};    let loginedtoken store.get(loginedtoken);    let time Date.now(www.gcyL157.com);    let {headers} config;    headers {.www.feifanyule.cn/..headers,loginedtoken};    params {...params,_:time};    config {...config,params,headers};    return config;    }, error {    Promise.reject(error);    })    服务端对所有需要登录的接口均拦截token并校验合法性。    ?    1    2    3    4    5    6    7    8    9    10    11    12    13    14    15    16    17    18    19    20    21    22    23    24    25    26    27    28    29    30    31    32    33    34    35    36    function verifyToken(token){    let cert fs.readFileSync(path.join(__dirname, ../config/pub.pem));//公钥    try{    let result jwt.verify(token, cert, {algorithms: [RS256]}) || {};    let {exp 0} result,current Math.floor(Date.now()/1000);    if(current exp){    res result.data || {};    }    }catch(e){    }    return res;    }    app.use(async(ctx, next) {    let {url } ctx;    if(url.indexOf(/user/) -1){//需要校验登录态    let header ctx.request.header;    let {loginedtoken} header;    if (loginedtoken) {    let result verifyToken(loginedtoken);    let {uid} result;    if(uid){    ctx.state {uid};    await next();    }else{    return ctx.body Tips[1005];    }    } else {    return ctx.body Tips[1005];    }    }else{    await next();    }    });    本示例使用的公钥与私钥可自己生成操作如下    打开命令行工具输入openssl打开openssl;    生成私钥genrsa -out rsa_private_key.pem 2048    生成公钥 rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem 转载于:https://www.cnblogs.com/qwangxiao/p/10057156.html
http://www.pierceye.com/news/129469/

相关文章:

  • 哪里有做配音的兼职网站wordpress菜单图标特效
  • 怎样自创广告网站海南网站建设推广公司哪家好
  • 网站开发团队人员网站建设开票属于什么服务
  • 学做网站初入门教程上海网站建设 觉策动力
  • 丰台建站公司做一个企业网站需要哪些技术
  • 黑色网站模板怎么写app程序
  • 常州建设局网站首页网站开发需求文档模板带er图
  • 网站名称是否已被注册简单的个人主页网站制作
  • 太仓网站开发wordpress留言板
  • 大型营销型网站制作装饰画
  • 移动网站和定制网站个体户 做网站
  • 网站建设的计划书网站源码下载 用户注册
  • 培训网站项目ppt怎么做抖音服务商
  • 做一个网站需要多少钱大概费用wordpress 2017
  • 惠州网页模板建站天河建设网站外包
  • html变Wordpress网络营销优化培训
  • 上海网站建设hxwlkj新浪网站源代码
  • 网站如何做美工想做代理商去哪找项目
  • 佛山市品牌网站建设多少钱印度网站开发成本
  • 群晖 nas 做网站软件开发视频网站
  • 建设银行云南分行招聘网站wordpress 教程
  • 杭州知名的网站制作策略创建一个购物网站需要什么
  • 新乡网站seo优化vs做的网站怎么让局域网的看到
  • 做静态网站怎样让图片自己切换重庆互联网公司排名
  • 微网站需要什么郑州哪家专业做淘宝网站
  • 郑州机械网站制作seo专业优化公司
  • 专注苏州网站优化长沙有哪些知名网站
  • 成品网站货源1688免费推荐建设银行科技中心网站
  • 城乡建设部统计信息网站大学生创新创业大赛项目计划书
  • 河南省水利建设厅网站清溪镇网站仿做