cookie

JSON Web Token 使用详解

拟墨画扇 提交于 2019-12-03 17:08:38
JWT 是什么? JSON Web Token(缩写 JWT)是目前最流行的 跨域 认证解决方案。它是有三部分组成,示例如下,具体的讲解如下(jwt 是不会有空行的,下面只是为了显示,便使用了换行看着比较方便)。 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9. eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjMfQ. SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c 它是由一个"."号隔开、三部分组成。 第一部分是 header 信息, { "alg": "HS256",// 加密的算法 "typ": "JWT"// 加密的方式,填写JWT } 第二部分是 Payload,有固定的六个部分和自定义数据组成,自定义数据看自己的情况需要来定义,是可以省去的。 'iss' => 'https://www.qqdeveloper.com',// 签发人 'exp' => time() + 86400,// 过期时间(这里的有效期时间为1天) 'sub' => '主题内容',// 主题 'aud' => '受众内容',// 受众 'nbf' => $time,// 生效时间 'iat' => $time,// 签发时间 'jti' => 123

servlet学习(四)--HttpSession

爷,独闯天下 提交于 2019-12-03 17:05:51
HttpSession概述 什么是HttpSesssion javax.servlet.http.HttpSession接口表示一个会话,我们可以把一个会话内需要共享的数据保存到HttSession对象中! 获取HttpSession对象 l HttpSession request.getSesssion():如果当前会话已经有了session对象那么直接返回,如果当前会话还不存在会话,那么创建session并返回; l HttpSession request.getSession(boolean):当参数为true时,与requeset.getSession()相同。如果参数为false,那么如果当前会话中存在session则返回,不存在返回null; HttpSession是域对象 我们已经学习过HttpServletRequest、ServletContext,它们都是域对象,现在我们又学习了一个HttpSession,它也是域对象。它们三个是Servlet中可以使用的域对象,而JSP中可以多使用一个域对象,明天我们再讲解JSP的第四个域对象。 l HttpServletRequest:一个请求创建一个request对象,所以在同一个请求中可以共享request,例如一个请求从AServlet转发到BServlet

URL 请求映射注解大全

家住魔仙堡 提交于 2019-12-03 17:05:20
@Controller 负责注册一个bean 到 spring 上下文中,用于标识是处理器类 @RequestMapping 注解为控制器制定可以处理哪些URL请求,可用于类或者方法上。 用于类上:表示类中的所有方法请求都是以该参数value值中的内容作为父路径请求 用于方法:表示映射到具体的URI参数 我就把RequestMapping的主要六个注解来分别看看: value : 指定请求的实际地址,也就是想http uri 中的请求参数是什么内容,才能跳入调用这个方法 method :指定http请求的method类型( get、post、put、delete 等) consumes :指定处理http请求的提交内容类型(也就是http中的 Content-Type 参数) produces :指定该方法处理后返回的内容类型,仅当request请求头中的Accept类型中包含该指定类型才返回。这句话意思就是,若是客户端可以接收 text/html;application/json 等类型的数据类型,那么我服务器端才在该函数处理完数据后,以这些格式将数据封装返回浏览器。 params :指定request请求中必须包含的某些参数,才让该方法处理 headers :指定request中必须包含的某些指定的header指定 @PathVariable 当使用

Http协议

≡放荡痞女 提交于 2019-12-03 16:37:12
请求:客户端根据用户地址信息将数据发送给服务器的过程   响应:服务器将请求的处理结果发送给浏览器的过程   http协议规范浏览器和服务器的数据交互的格式   使用键值对精准传输数据   Content-type控制数据格式   无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并受到客户的应答后,即断开连接。采用这种方式节省传输时间。   无状态:http 协议是无状态协议。对事物处理没有记忆能力。缺少状态意味着如果需要处理后续信息,需要重连接   GET和POST区别   GET请求数据会把数据显示在url输入框中,所以限制get的数据长度不是http协议,而是输入栏长度   第一次调用Serlvet时,就会被tomcat加载到内存中,直到下次服务器重启。客户端发起请求时,调用servlet类,tomcat服务器就会去相应的url位置寻找servlet.class   生命周期--从第一次执行到,服务器关闭   客户端每发送一次请求,服务器端会创建一个request对象用于存储请求数据(请求头 请求行 请求数据) request对象学习 ​ 作用:request对象封存了当前请求的所有信息 使用: ​ 获取请求头数据 ​ 获取请求行数据 ​ 获取用户数据 ​ request对象由tomcat服务器创建

Django操作session和cookie

[亡魂溺海] 提交于 2019-12-03 15:54:14
http协议四大特性 基于TCP/IP作用于应用层的协议 基于请求响应 无状态: 同一个客户端发送多次请求没有任何关联 无连接 会话跟踪技术 多次请求之间记录消息来弥补http无状态保存的缺点(使多次请求有联系)、 cookie 具体一个浏览器针对一个服务器存储其消息的键值对(key=value) 客户端-服务端 客户端第一次访问服务端的某一个功能,比如login功能,一开始客户端的请求头里是带着空字典去访问的,访问成功后,服务器后生成一个cookie给到客户端,比如说下面的cookie: Cookie: BAIDUID=F00480318ED42C27C35D3A2FBE2B0AD7:FG=1; BIDUPSID=F00480318ED42C27C35D3A2FBE2B0AD7; PSTM=1561713680; BD_UPN=123253; BDUSS=npyYVNyVEMwaldpTUxBV1BCUlhBfmVRTGZJclFlaENWQ0tDeGJyVFQ3a09rRnBkSVFBQUFBJCQAAAAAAAAAAAEAAABYUcuESmF2YV93aW5uZXIyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4DM10OAzNdf; BD_HOME=1; H_PS_PSSID

【渗透测试小白系列】之SQLMAP工具的使用

不问归期 提交于 2019-12-03 15:31:36
(本文仅为平时学习记录,若有错误请大佬指出,如果本文能帮到你那我也是很开心啦) 一、介绍 1.SQL注入工具: 明小子、啊D、罗卜头、穿山甲、SQLMAP等等 2.SQLMAP: 使用python开发,开源自动化注入利用工具,支持12种数据库 ,在/plugins/dbms中可以看到支持的数据库种类,在所有注入利用工具中它是最好用的!!! 3.支持的注入类型: bool、time、报错、union、堆查询、内联 4.功能: 可以获取用户名、密码、权限、角色、数据库(表、字段、内容) 可以爆破识别密文数据 getshell(反弹shell) 命令执行 脱库或删库 二、SQLMAP的目录介绍: 目录 介绍 doc 介绍文档 extra sqlmap额外的功能,运行cmd、执行命令 lib sqlmap 的核心功能代码 plugins 包含12种数据库的识别程序 data 存放一些攻击过程种使用的工具或者命令 /data/procs 包含了mssql、mysql、oracle、postgresql这四种数据库的触发程序 /data/shell 远程命令、后门 /data/txt 表名、列名、UA字典 /data/udf 存放攻击载荷(payload) /data/XML 存放检测脚本(payload) tamper 包含各种绕过WAF的处理脚本 thirdparty 包含第三方插件

前端实习面试题整理(四)【HTTP相关】

前提是你 提交于 2019-12-03 15:08:23
1、HTTP基本概念:   超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。设计Http最初的目的是为了提供一种发布和接收HTML页面的方法。它可以使浏览器更加高效。Http协议是以明文方式发送信息的,如果黑客截取了Web浏览器和服务器之间的传输报文,就可以直接获得其中的信息。 2、HTTP报文格式:   分为请求报文和响应报文。   ①请求报文: <methods><request-URL><version> <headers>:<value> <entity-body>   大体上是以上这样一个结构:分为三部分(把第三行的空行算上就是四部分)   a.请求行:包括请求方法(常见的GET和POST)、请求地址、和协议版本   b.请求头部:分为多行,每一行都由“头部字段:值”组成,常见的有Host、User-Agent:浏览器类型、Accept:接受数据类型(*/*表示所有)、Accept-Language:客户端接受的语言、Connection:连接方式(close或keepalive)、Cookie:存储于客户端的扩展字段等。   c.请求实体:对应传过去的json数据   ②响应报文:   结构与请求报文一致,也是三个部分:   a.响应行:包括HTTP版本、状态码(比如200、304、404、500等

CORS、Ajax和Cookie

拈花ヽ惹草 提交于 2019-12-03 15:06:03
CORS是ajax跨域请求的一个解决方案,详细见: 浏览器同源政策及其规避方法 跨域资源共享 CORS 详解 ajax可以设置请求头,和get响应头 。 jQuery and AJAX response header How can I add a custom HTTP header to ajax request with js or jQuery? 先感受一下,编写index.html: <!DOCTYPE html> <html> <head> <title>test</title> </head> <body> <button id="test">click</button> <script src="//cdn.bootcss.com/jquery/3.1.0/jquery.min.js"></script> <script> $('#test').on('click', function(){ console.log('click me'); var url = 'https://api.github.com/users/octocat/gists'; var geturl = $.ajax({ type: "GET", url: 'https://api.github.com/users/octocat/gists', success: function (data

记一次Django中cookie的应用

别等时光非礼了梦想. 提交于 2019-12-03 14:41:36
cookie介绍    因为HTTP协议是无状态的,它的执行情况与执行结果和前面或后面的请求都没有直接关系,而服务器和浏览器会话会产生一些数据,这些数据是需要我们保存的,但是因为HTTP协议的特性,这写数据不会被保存,由此便诞生了cookie,用来帮助我们保持状态,也就是保存一些数据。   cookie也就是一小段信息,它是服务器发出保存在浏览器本地的一组组键值对,下次浏览器再访问服务器时,便会携带这些信息,服务器可从中提取有用信息 使用实例    一个登陆的小例子,用户在未登陆时访问index页面便会跳转至登陆界面,登录后访问便会携带cookie,服务器提取到信息便可以直接访问 1 def check_login(func): 2 @wraps(func) 3 def inner(request,*args,**kwargs): 4 if request.COOKIES.get('_login') == 'yes': 5 return func(request,*args,**kwargs) 6 else: 7 return redirect(f'/login/?before_url={request.path_info}') 8 return inner 9 10 11 12 def login(request): 13 if request.method == 'GET':

Http详解

我的梦境 提交于 2019-12-03 14:34:47
1. HTTP请求格式 首先介绍HTTP协议: 超文本传输协议 (HTTP,HyperText Transfer Protocol)是 互联网 上应用最为广泛的一种 网络协议 。所有的 WWW 文件都必须遵守这个标准。 工作原理: 由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是 80端口 )的TCP连接。 连接 HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求, 请求 服务器(向客户端)发回一个状态行,比如"HTTP/1.1 200 OK",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。响应 客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客 http工作流程图 户机与服务器断开连接 显示内容 HTTP协议的网页 HTTP使用TCP而不是UDP的原因在于(打开)一个网页必须传送很多数据,而TCP协议提供传输控制,按顺序组织数据,和错误纠正。   做过Socket编程的人都知道,当我们设计一个通信协议时,“消息头/消息体”的分割方式是很常用的,消息头告诉对方这个消息是干什么的,消息体告诉对方怎么干。HTTP协议传输的消息也是这样规定的,每一个HTTP包都分为HTTP头和HTTP体两部分,消息体是可选的,而消息头是必须的。每当我们打开一个网页,在上面点击右键,选择“查看源文件”