首页
工具箱
Search
1
Vue vben admin 2.0的封装部分坑点
1,164 阅读
2
百度地图坐标系对腾讯地图坐标系转换
1,063 阅读
3
人和,亚冠!加油!!
1,006 阅读
4
解决Ant Design Vue的Select搜索指定字段的问题
874 阅读
5
Pyqt5 getOpenFileName筛选文件类型
830 阅读
技术宅的演示性文稿
技术宅的吐槽文档
一个的舞台
唱唱反调
老文章归档
光年计划
登录
Search
标签搜索
老文章
CS
长春
大学
程序员
vue
酷游CS俱乐部
dedecms
贵州人和
织梦
php
vant
小程序
军训
缘
ie6
google
大连
2012
js
茶树虾
累计撰写
308
篇文章
累计收到
120
条评论
首页
栏目
技术宅的演示性文稿
技术宅的吐槽文档
一个的舞台
唱唱反调
老文章归档
光年计划
页面
工具箱
搜索到
3
篇与
teaxia,茶树虾,vue,js,php
的结果
2019-04-26
在vue-cli构建的项目中使用vue-touch报priority错误
造成的原因可能是你的vue-touch安装的版本不对,vue2.0及其以上的版本的项目需要安装的是:npm install vue-touch@next后面的next必须加上,否则安装的vue-touch的版本则是版本1,加上next安装的版本才是2,才可以用于vue2.0构建的项目当中!作者:kitty_777链接:https://www.jianshu.com/p/8457348af319来源:简书简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
2019年04月26日
91 阅读
0 评论
0 点赞
2019-04-26
thinkphp3.2使用JWT进行用户token签名
总所周知,http是一种无状态协议,而当我们在传统的MVC模式下面,通常情况下是靠session来进行登陆验证。而现在的WEB已经发展到前后端分离的状态了,那么传统模式的session已经不能满足我们的需求。使用AXIOS与thinkphp进行跨域(非跨域)通信的时候,在服务端是无法使用session的,那么我们怎么来判断用户是否登陆呢?这个时候我们则使用到了现在流行的JWT方法。JWT是JSON Web Token的缩写JWT的作用是加密和解密。它可以把一堆数据加密,并生成一串密文,也可以把密文解密,还原原始数据。这样一来就可以用JWT加密个人登录信息,以便个人登录时,并提供密文,以证明自己是合法用户。 例如:把登录后的uid加密形成密文,然后发回个客户端,客户端以后每次都携带密文,访问带有权限验证的页面,服务服务端通过解密,得到uid,说明是已登录过的用户,并开放访问。这样,就必须要求客户端在访问每个需要验证的页面,都必须携带密文,同时在服务端也就不需要使用session验证了。顺便也避免了服务端session数据大的时候,引起的问题。因为加密的密文不是很长,服务端解密是很快的,所以不会给服务端造成压力。这样带来的好处是,多种设备使用一种密钥,都可以通用,可以避开手机端使用session等问题。同时,由于JWT是使用base64进行对称加密,也就是说是可以进行解密的,所以千万不要存储用户的密码等敏感信息!同时,由于JWT是使用base64进行对称加密,也就是说是可以进行解密的,所以千万不要存储用户的密码等敏感信息!同时,由于JWT是使用base64进行对称加密,也就是说是可以进行解密的,所以千万不要存储用户的密码等敏感信息!好了,现在我们来介绍一下在thinkphp如何使用JWT首先通过git获取https://github.com/firebase/php-jwt把获取到的JWT放至thinkphp的目录下,目录结构如下:Thinkphp/Library/Vender/Firebase/JWT此时JWT文件里面应有4个文件分别为:SignatureInvalidException.php JWT.php ExpiredException.php BeforeValidException.php除了JWT.php是我们要引入的主文件以外,其他文件不用直接引入。我们在需要使用JWT的文件里面添加上命名空间然后在要使用的操作类里面通过thinkphp的Vendor方法引入public function Login(){ Vendor('Firebase.JWT.JWT'); // 使用JWT进行密钥签名 define('KEY', '28ksdfgdioaiowjqwreosod23ldmbsm2Xa'); // 自定义私有密钥 // 这里的$data是通过查询数据库里面是否有相应的用户名,并且密码正确返回的信息,我这里忽略了验证数据库信息的过程 if($data){ $nowtime = time(); $token = [ 'iss' => 'teaxia', //签发者 'aud' => username, //jwt所面向的用户 'iat' => $nowtime, //签发时间 'nbf' => $nowtime, //生效时间(马上生效) 'exp' => $nowtime + 3600, // 过期时间1小时 'data' => [ 'userid' => $data['id'], // 数据库的用户ID(请自行获取) 'username' => $data['name'] // 数据库的用户名(请自行获取) ] ]; $jwt = JWT::encode($token, KEY); // 通过JWT获取token $this->ajaxReturn($jwt); // 返回用户token } }以上,通过JWT生成用户TOKEN的过程就完成了,那么我们在验证TOKEN的时候,使用$key = "28ksdfgdioaiowjqwreosod23ldmbsm2Xa"; // 私钥 $decoded = JWT::decode($jwtstr, $key, array('HS256')); // $jwtstr是每次请求时传过来的token $arr = json_decode(json_encode($decoded), true); // 解密数据这里面的$arr就是解密的用户信息,拿到这个用户信息就可以判断用户权限这些东西了
2019年04月26日
366 阅读
0 评论
0 点赞
2019-04-12
有点糟糕
4月,不知道是不是有水逆,养了10年的老猫莫名其妙的消失。我甚至不能确定它是跑出去了还是在家里躲着,如果在家里躲着已经几天了,它都没有出现。但是如果是跑出去了,家里也没有人见它是如何穿越防盗门跑出去的。希望它一切安好吧。就在刚才,突然发现博客打不开了,点开一看发现博客的数据库链接不上了,找了半天的原因,发现原来是我手贱,把博客数据库给误删掉了。还好有以前的老数据库没丢,不然多年的积累也会消失。希望接下来的日子如下:
2019年04月12日
123 阅读
0 评论
0 点赞