token

springboot运行token方式

感情迁移 提交于 2020-02-25 23:56:20
一、使用maven引入jjwt包 <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.6.0</version> </dependency> 二、生成token的方式 新建一个生成token的类 package com.example.demo.controller; import io.jsonwebtoken.JwtBuilder; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; import java.util.Date; public class CreateJwt { public static void main(String[] args) { //Jwts.builder()生成 //Jwts.parser()验证 JwtBuilder jwtBuilder = Jwts.builder() .setId("123") .setSubject("梦阳") //用户名 .setIssuedAt(new Date())//登录时间 .signWith(SignatureAlgorithm.HS256, "my-123").setExpiration

从无到有用Python创造一门属于自己的编程语言1

安稳与你 提交于 2020-02-25 23:37:24
前言 如果你会编译原理,对其中的词法分析算法,语法分析算法足够了解,那么用什么语言来做这样的一件事情都是可以的,之所以使用Python只是因为本人会的编程语言中, Python的使用时间最长,也最得心应手。所谓性能什么的不在本文的考虑范围内, 本文主要重点是语法分析的表达式的解析,语法解析使用的是普拉特分析法,一种自顶向下的语法解析方法。 文章目录如下: 四则运算的问题 词法分析 语法分析与解释执行 参考链接 这有什么用 后记 源代码 四则运算的问题 怎么解决让代码算出以下解决结果?(假设问题代码保存文1.txt) 1 + 2 * 3 - 4 / 5 不用语法分析, 最简答的解决办法就是 with open("1.txt") as rf: print(eval(rf.read())) # 输出结果 6.2 那么如果是以下面的代码呢?(假设问题代码保存文2.txt) add(1, add(1,2)) 不用语法分析, 最简单的解决办法是 def add(a, b): return a + b with open("2.txt") as rf: print(eval(rf.read()), dict(add=add)) # 输出结果 4 {'add': <function add at 0x0000013E8033AD90>} 如果要求加法的优先级大于乘法呢?就是说先加后乘,比如1+2

pikaqiu练习平台(CSRF(跨站请求伪造) )

半城伤御伤魂 提交于 2020-02-25 22:16:13
CSRF(跨站请求伪造) CSRF(跨站请求伪造)概述 Cross-site request forgery 简称为“CSRF”,在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击就完成了。所以CSRF攻击也成为"one click"攻击。 CSRF 与XSS的区别 : CSRF是借用户的权限完成攻击,攻击者并没有拿到用户的权限,而XSS是直接盗取到了用户的权限,然后实施破坏。 如何确认一个网站存在CSRF漏洞: 1. 一个网站对关键信息(比如密码等敏感信息)的操作(增删改)是否容易被伪造。 比如:修改管理员账号使,不需要验证旧密码 对于敏感信息的修改并没有使用安全的token验证 2. 确认凭证的有效期 比如:虽然退出或者关闭了浏览器,但cookie仍然有效,或者session没有及时过期 一、 CSRF(get) 登陆之后,可以修改个人信息,点击提交,然后进行抓包; 将get请求修改为攻击者伪造的请求,在登陆状态下点击,就可以修改用户信息; http://192.168.17.111 /pikachu-master/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum=12345678922&add= cangzhou

前后端分离,如何防止接口被其他人调用或恶意重发

走远了吗. 提交于 2020-02-25 20:02:17
前后端分离,如何防止接口被其他人调用或恶意重发? 首先,http协议的无状态特性决定了是无法彻底避免第三方调用你的后台服务。我们可以通过crsf、接口调用频率、用户行为分析(来源等)等各个方面来增加第三方调用的难度,也可以通过添加一个中间层比如node.js来实现; 1. 非法访问通常使用认证来解决,方法很多session,token,oauth第三方框架等等。 (1)常规的方法:用户登陆后生成token,返回客户端,然后服务器使用AOP拦截controller方法,校验token的有效性,每次token是一样的; (2)用户登陆后生成临时token,存到服务器,并返回客户端,客户端下次请求时把此token传到服务器,验证token是否有效,有效就登陆成功,并生成新的token返回给客户端,让客户端在下一次请求的时候再传回进行判断,如此重复。 这种方法有性能问题,但也有一个漏洞,如果用户在一次请求后,还未进行下一次请求就已被黑客拦截到登录信息并进行假冒登录,他一样可以登录成功并使用户强制下线,但这种方法已大大减少被假冒登录的机会。 (3)两层token:一般第一次用账号密码登录服务器会返回两个token,时效长短不一样,短的时效过了之后,发送时效长的token重新获取一个短时效,如果都过期,那么就需要重新登录了。当然更复杂你还可以做三层token,按照业务分不同token。 2.

k8s之web界面(Dashboard)从安装到应用

寵の児 提交于 2020-02-25 15:27:52
web界面(Dashboard) 之前在kubernetes中完成的所有操作都是通过命令行工具kubectl完成的,为了提供更丰富的用户体验,kubernetes还开发了一个基于web的用户界面(Dashboard)。用户可以使用Dashboard部署容器化的应用,还可以监控应用的状态,执行故障排查以及管理kubernetes中各种资源。 在kubernetes Dashboard中可以查看集群中应用的运行状态,也能够创建和修改各种kubernetes资源(比如Deployment,Job,Daemonset等等),用户可以对Deployment实现弹性伸缩,执行滚动升级,重启pod或者使用向导创建新的应用。 可以说,kubernetes Dashboard提供了kubectl的绝大部分功能。 Dashboard 同时展示了kubernetes集群中的资源状态信息和所有报错信息。 官方参考文档: https://kubernetes.io/zh/docs/tasks/access-application-cluster/web-ui-dashboard/ GitHub项目下载地址: https://github.com/kubernetes/dashboard 一,部署Dashboard UI kubernetes 默认没有部署Dashboard,可通过以下命令下载:

drf认证组件、权限组件、jwt认证、签发、jwt框架使用

无人久伴 提交于 2020-02-25 12:47:11
目录 一、注册接口 urls.py views.py serializers.py 二、登录接口 三、用户中心接口(权限校验) urls.py views.py serializers.py 四、图书资源接口 urls.py views.py serializers.py 五、认证组件 重点 自定义认证类 六、权限组件 重点 自定义权限类 七、jwt认证示意图 八、 jwt认证算法:签发与校验 签发:根据登录请求提交来的 账号 + 密码 + 设备信息 签发 token 校验:根据客户端带token的请求 反解出 user 对象 九、drf项目的jwt认证开发流程(重点) 十、drf-jwt框架基本使用 安装(终端) 签发token 校验token(认证组件) 设置需要登录才能访问的接口进行测试(views.py) 测试访问登录认证接口(Postman) 一、注册接口 urls.py router.register('register', views.RegisterViewSet, 'register') from rest_framework_jwt.views import ObtainJSONWebToken urlpatterns = [ url('^login/$', ObtainJSONWebToken.as_view()), url('', include

.net core 基于Jwt实现Token令牌

妖精的绣舞 提交于 2020-02-25 07:53:10
Startup类ConfigureServices中 services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJwtBearer(options => { options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuer = true,//validate the server ValidateAudience = true,//ensure that the recipient of the token is authorized to receive it ValidateLifetime = true,//check that the token is not expired and that the signing key of the issuer is valid ValidateIssuerSigningKey = true,//verify that the key used to sign the incoming token is part of a list of trusted keys ValidIssuer = Configuration["Jwt:Issuer"],/

JWT什么鬼?django中使用JWT

风格不统一 提交于 2020-02-25 00:55:10
JWT认证校验首选 1.pyJWT简述 因http协议本身为无状态,这样每次用户发出请求,我们并不能区分是哪个用户发出的请求,这样我们可以通过保存cookie以便于识别是哪个用户发来的请求,传统凡事基于session认证。但是这种认证本身很多缺陷,扩展性差,CSRF等问题。JWT(Json web token) 相比传统token,设计更为紧凑且安全。通过JWT可以实现用户认证等操作。 pyJWT下载 pip install pyJWT JWT构成: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInR5cGUiOiJqd3QifQ.eyJ1c2VybmFtZSI6InhqayIsImV4cCI6MTU4MjU0MjAxN30.oHdfcsUftJJob66e5mL1jLRpJwiG0i9MOD5gzM476eY jwt是由三段信息构成,将3部分信息构成JWT字符串,通过点进行分割,第一部分称为头部(header),第二部分称为在和(payload类似于飞机上承载的物品),第三部分是签证(signature)。 header jwt的头部承载两部分:声明类型,声明加密算法 headers = { "type":"jwt", "alg":"HS256" } 然后将头部进行base64加密。(该加密是可以对称解密的),构成了第一部分

c#操作json数据使用newtonsoft.json

泪湿孤枕 提交于 2020-02-25 00:39:55
开源项目提供的一个读取示例 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; namespace Newtonsoft.Json.Tests.Documentation.Samples.Json { public class ReadJsonWithJsonTextReader { public void Example() { #region Usage string json = @"{ 'CPU': 'Intel', 'PSU': '500W', 'Drives': [ 'DVD read/writer' /*(broken)*/, '500 gigabyte hard drive', '200 gigabype hard drive' ] }"; JsonTextReader reader = new JsonTextReader(new StringReader(json)); while (reader.Read()) { if (reader.Value != null) Console.WriteLine("Token: {0}, Value: {1}", reader.TokenType, reader

NB-IoT 学习开发和应用 第四讲

假装没事ソ 提交于 2020-02-25 00:15:05
NB-IoT 学习开发和应用 第四讲 阿里云物联网平台中的CoAP协议学习和分析 CoAP协议:CoAP协议的底层协议是 UDP (比喻:打电话,单方通信,无需保持链接) 应用范围: NB-IoT、超低功耗应用、野外数据采集监控系统、远程抄表等 特点 :只能数据上报(注:在CoAP协议的定义中,非底层的UDP协议),服务器无法对数据进行下发控制指令。 CoAP协议报文(一共只有4个) 分别是: 1、CON报文(连接请求报文),给服务器发报文,并且发送完以后,服务器必须要发送ACK报文给设备端(即响应报文) 2、NON报文(发送给服务器,服务器无需回复) 3、ACK报文 (响应报文) 4、RST报文(代表数据发送错误,提醒用户重新发送正确的数据给服务区) 注:且在阿里云物联网平台中的的CoAP协议中,只支持 CON 报文的数据类型。其他数据格式或者协议,服务器均不支持。 同时,在阿里云物联网服务器中,上传的数据有两种形式(CON的两种形式) 1、设备认证报文 2、数据上传报文 CoAP协议报文的格式组成形式: Ver+T+TKL+Code+Messige ID+Token+Options+0xff(分隔字符)+Payload 拆分分析: Ver : 版本号 2bit T : 报文类型 2bit (CON : 00 NON : 01 ACK : 10 RST : 11 ) TKL :