cookie

单点登录与权限管理本质:session和cookie介绍

送分小仙女□ 提交于 2020-03-12 01:50:55
本篇开始写「单点登录与权限管理」系列的第一部分:单点登录与权限管理本质,这部分主要介绍相关的知识概念、抽象的处理过程、常见的实现框架。通过这部分的介绍,能够对单点登录与权限管理有整体上的了解,对其相关概念、处理流程、常见实现有个基本的认识。 本篇文章介绍下session和cookie,它是登录实现的基础,主要从下面几个方面介绍: session和cookie基本概念 session的生命周期 cookie的作用域 cookie的跨域问题会在后续文章单独介绍。 基本概念 大部分系统都需要识别用户的身份,有些功能只有特定的用户能使用,有些功能需要根据用户身份显示不同的内容,一般使用唯一编号标识用户的身份。 就像我们的×××,×××号是每个人唯一的,根据所在的省市区、出生年月、性别等规则生成,我们去政府机构办事时,都需要带着×××,他们通过×××验证我们的身份。 session和cookie主要用来识别登录者身份的,默认通过JSESSIONID唯一编号进行验证。session是在服务端保存的一个数据结构,用来跟踪用户的状态,也可以保存用户相关的一些数据,可以保存在内存、缓存、数据库等存储结构中。cookie是客户端保存用户信息的一种机制。 servlet session javax.servlet.http包中是session的主要API接口,主要有以下几种接口: HttpSession

Cookie

痞子三分冷 提交于 2020-03-12 00:37:49
服务器向客户端发送的数据A会保存在浏览器中,浏览器再次访问,会携带A,这样服务端就会识别 cookie的简单使用 1.创建一个servlet,继承HTTPServlet,并且重写doGet/doPost方法 2.创建一个cookie并且保存到浏览器 3.测试cookie 4.获取cookie为数组 5.修改代码 cookie机制 http是无状态连接,状态不会一直保存 cookie是保存在客户端上的,为明文传输,不安全 来源: oschina 链接: https://my.oschina.net/u/4434424/blog/3192030

学习Cookie的基础知识

隐身守侯 提交于 2020-03-11 23:34:56
知识储备 首先要先了解什么是会话,会话就是用户打开一个浏览器,点击多个链接,然后会访问多个WEB服务,然后再关闭浏览器。 有两种保存会话数据的技术,可以保存用户的数据,就比如像你购物车里的数据。而这两种技术分别是Cookie技术和HttpSession技术。 Cookie的概述 Cookie是客户端技术,程序会把每一个用户的数据以Cookie的形式写给用户各自的浏览器。当用户再使用浏览器去访问服务器中WEB资源的时候,就会带着各自的数据去。 Cookie API javax.servlet.http.Cookie类用于法,它用于在其响应头中增加一个相应的Set-Cooki创建一个Cookie,response接口中定义了一个addCookie方e头字段。 同样,request接口中也定义了一个getCookies方法,它用于获取客户端提交的Cookie。Cookie类的方法: public Cookie(String name,String value) setValue与getValue方法 setMaxAge与getMaxAge方法 (秒) setPath与getPath方法 setDomain与getDomain方法 getName方法 例子演示: *1. 获取客户端最后访问时间: //告诉服务器应该使用UTF-8来解析文件,告诉客户端使用什么来编码 response

JS之document.cookie详解以及$.cookie的使用

纵然是瞬间 提交于 2020-03-11 22:29:08
文章目录 什么是cookie? 设置cookie 获取cookie的值 常用的cookie操作及其函数实现 addCookie getCookie deleteCookie jQuery cookie的使用 什么是cookie? cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。 设置cookie 每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie: document.cookie="userId=828"; document.cookie看上去就像一个属性,可以赋不同的值。但它和一般的属性不一样,改变 它的赋值并不意味着丢失原来的值,例如连续执行下面两条语句: document.cookie="userId=828"; document.cookie="userName=hulk"; 这时浏览器将维护两个cookie,分别是userId和userName,因此给document.cookie赋值更像执 行类似这样的语句: document.addCookie("userId=828"); document.addCookie("userName=hulk"); 事实上

前端常见跨域解决方案(全)

时间秒杀一切 提交于 2020-03-11 21:53:21
什么是跨域? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。 广义的跨域: 1.) 资源跳转: A链接、重定向、表单提交 2.) 资源嵌入:<link>、<script>、<img>、<frame>等dom标签,还有样式中background:url()、@font-face()等文件外链 3.) 脚本请求: js发起的ajax请求、dom和js对象的跨域操作等 其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。 什么是同源策略? 同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指”协议+域名+端口”三者相同,即便两个不同的域名指向同一个ip地址,也非同源。 同源策略限制以下几种行为: 1.) Cookie、LocalStorage 和 IndexDB 无法读取 2.) DOM 和 Js对象无法获得 3.) AJAX 请求不能发送 常见跨域场景 URL 说明 是否允许通信 http://www. domain.com/a.js http://www. domain.com/b.js 同一域名,不同文件或路径 允许 http://www. domain.com/lab

EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器软件二次开发接口对接说明示列

可紊 提交于 2020-03-11 20:45:47
EasyDSS相关功能 EasyDSS流媒体服务器软件,提供一站式的转码、点播、直播、时移回放服务,极大地简化了开发和集成的工作。其中, 点播 版本主要包含:上传、转码、分发。 直播 版本主要包含:直播、录像,直播支持RTMP输入,RTMP/HLS/HTTP-FLV的分发输出;录像支持自定义保存时长、检索及下载;提供丰富的二次开发接口、基于JSON的封装及HTTP调用;提供播放鉴权、推流鉴权等安全保证;提供用户及相关权限管理配置。 EasyDSS流媒体服务搭建资源 【官网】 【点播版本在线演示】 【直播版本在线演示】 【旗舰版本在线演示】 【在线接口】 这篇博文主要介绍如何利用软件提供的接口快速接入开发。 一、 快速安装 下载地址 下载对应环境的安装包 解压安装包 Windows下双击EasyDSS.exe直接启动 Linux下解压目录执行./start.sh 注:路径中不能包含中文 二、 二次开发 二次开发中,方式是在自己业务系统后端登录接口中,调用流媒体的登录接口,获取所需的sid或是token 1.封闭内网使用 在业务使用,如果只是使用EasyDSS提供视频分发能力,且不会对外公开接口端口10080(默认端口),可以直接将接口鉴权关闭,具体服务器登录 http://demo.easydss.com:10080/login.html 默认用户名/密码 admin/admin,

session和cookie的简单理解

梦想的初衷 提交于 2020-03-11 19:01:46
0. 引子,我们为什么要cookie和session 因为http请求是无状态的(不能记录用户的登录状态等),所以需要某种机制来保存用户的登录状态等信息,在下次访问web服务的时候,不用再次校验是否登录等状态,session机制和cookie机制分别是在服务器端和浏览器端的解决方案。 1.关于cookie 1.1 什么是cookie cookie,原意饼干。用来在浏览器端存储用户的状态信息,然后在访问后端的时候将这部分信息带回到后端。 cookie的内容主要包括:名字,值,过期时间,路径和域 1.2 cookie的分类 会话cookie 不设置过期时间的cookie 保存在浏览器的内存中,关闭浏览器,cookie便被销毁。(常常被用作session) 普通cookie 设置了过期时间 保存在硬盘上 1.3怎么应用 发起请求时:浏览器检查所有存储的cookie,如果某个cookie所声明的作用范围(由路径和域决定)大于等于将要请求的资源所在的位置,则把该cookie附在请求资源的HTTP请求头上发送给服务器。 处理请求时:在服务器端, 一般会对请求头中带的cookie信息做检查(比如说登录检查),如果检查通过,才能进行实际的业务处理。 如果校验不通过,例如没有找到cookie或者cookie信息不正确(可能是伪造),跳转让其登录,然后登录完成之后,在响应中返回cookie信息

跨站脚本攻击XSS

白昼怎懂夜的黑 提交于 2020-03-11 16:58:17
跨站脚本攻击XSS 一、XSS简介 1.1 XSS攻击的危害包括 1.2 XSS原理解析 1.2.1 XSS(反射型) 1.2.2 XSS(存储型) 二、构造XSS脚本 2.1 常用HTML标签 2.2 常用JavaScript方法 2.3 构造XSS脚本 2.3.1 弹窗警告 2.3.2 页面嵌套 2.3.3 页面重定向 2.3.4 弹框警告并重定向 2.3.4 访问恶意代码 2.3.5 巧用图片标签 2.3.5 绕开过滤的脚本 2.3.6 收集用户cookie 三、自动化XSS 3.1 BeEF简介 3.2 信息收集 3.3 持久化控制 3.4 社会工程 3.5 渗透攻击 3.6 BeEF基础 一、XSS简介 跨站脚本(cross site script)为了避免与css混淆,所以简称为XSS。 XSS是一种经常出现在web应用中的计算机安全漏洞,也是web中最主流的攻击方式。 XSS是指恶意攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足的缺点,进而添加一些代码,嵌入到web页面中去。使别的用户访问都会执行相应的嵌入代码。从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。 1.1 XSS攻击的危害包括 盗取各类用户账号,如机器登录账号、用户网银账号、各类管理员账号。 控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力。

PHP之cookie和session

余生颓废 提交于 2020-03-11 16:11:57
cookie和session技术 登录凭证校验分析    判断是否具有登录凭证?     如果管理员账户密码合法,分配浏览器一个登录凭证,在向后台首页请求时,携带凭证到服务器,服务器php程序判断是否登录凭证。    凭证是如何实现的?     就是特定的数据,存在就是有凭证,否则就是没有凭证。    凭证如何储存?     如果储存到变量中:不行,变量声明周期结束,会被自动释放。     如果储存到常量中:不行,常量生命周期结束,会被自动释放。     如果储存到数据库中:不行,存储在数据库中,脚本周期结束了,不会消失,但是浏览器不能区分是那个浏览器登录的,不能区分该凭证是属于那个一个浏览器。 COOKIE SESSION 被称作会话技术。     会话技术:在同一台浏览器对某台服务器进行多次请求周期内,用来持久性存储数据的技术被称为会话技术。     1.区分浏览器。 2.多次请求数据不会丢失。 为什么会有会话技术?    B/S架构,基于HTTP协议,特点是无状态,指的是不能储存任意一次的数据请求。 COOKIE技术   就是将会话数据,储存在浏览器端的一种技术。 特点:   1.服务器负责储存数据到浏览器端。   2.浏览器在每次请求时,将记录下来的数据,携带到服务器端。 图示: 使用:   设置cookie数据   setcookie(key, value)  

019-客户端服务端会话技术【Cookie】 搞懂他你可以在浏览器存数据了

旧街凉风 提交于 2020-03-11 10:58:56
目录 会话技术 Cookie 案例 会话技术 会话: 一次会话中包含多次请求和响应。 一次会话: 浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止 功能: 在一次会话的范围内的多次请求间,共享数据 方式: 客户端会话技术:Cookie 服务器端会话技术:Session Cookie 概念: 客户端会话技术,将数据保存到 客户端 快速入门使用步骤: 1. 创建Cookie对象,绑定数据 new Cookie(String name, String value) 2. 发送Cookie对象 response.addCookie(Cookie cookie) 3. 获取Cookie,拿到数据 Cookie[] request.getCookies() protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //创建Cookie对象 Cookie c1 = new Cookie("msg","你好"); //设置path,让当前服务器下部署的所有项目共享Cookie信息 c1.setPath("/"); //设置cookie存活时间:秒 c1.setMaxAge(300); //发送Cookie