cookie

深入浅出让你理解跨域与SSO单点登录原理与技术

Deadly 提交于 2020-03-31 11:12:08
一:SSO体系结构 SSO ​ SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。 体系结构 ​ 当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返回给用户一个认证的凭据--token;用户再访问别的应用的时候就会将这个token带上,作为自己认证的凭据,应用系统接受到请求之后会把token送到认证系统进行校验,检查token的合法性。如果通过校验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了 。 Token(令牌) token的意思是“令牌”,是服务端生成的一串字符串,作为客户端进行请求的一个标识。 当用户第一次登录后,服务器生成一个token并将此token返回给客户端,客户端收到token后把它存储起来,可以放在cookie或者Local Storage(本地存储)里。 以后客户端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。 简单token的组成;uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名

asp.net中使用基于角色role的Forms验证

烂漫一生 提交于 2020-03-31 08:27:44
asp.net中使用基于角色role的Forms验证,大致经过几下四步: 1.配置系统web.config < system .web > < authentication mode ="Forms" > < forms name =".yaoCookies" loginUrl ="/duan/Manage/login.aspx" protection ="All" timeout ="20" path ="/" /> </ authentication > </ system.web > 其中<authentication mode= "forms"> 表示本应用程序采用Forms验证方式。 1). <forms>标签中的name表示指定要用于身份验证的 HTTP Cookie。默认情况下,name 的值是 .ASPXAUTH。采用此种方式验证用户后,以此用户的信息建立一个FormsAuthenticationTicket类型的身份验证票,再加密序列化为一个字符串,最后将这个字符串写到客户端的name指定名字的Cookie中.一旦这个Cookie写到客户端后,此用户再次访问这个web应用时会将连同Cookie一起发送到服务端,服务端将会知道此用户是已经验证过的. 2). <forms>标签中的loginUrl指定如果没有找到任何有效的身份验证 Cookie,为登录将请求重定向到的

sqlmap和dvwa-SQL Injection

霸气de小男生 提交于 2020-03-30 17:49:48
Sqlmap -支持的SQL注入方式 1、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。 2、基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。 3、基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。 4、联合查询注入,可以使用union的情况下的注入。 5、堆查询注入,可以同时执行多条语句的执行时的注入。 -支持的数据库: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase和SAP MaxDB - 检测注入 -基本格式 :sqlmap -u “http://www.vuln.cn/post.php?id=1” -u [目标url] 默认使用一级检测,级别对应返回的信息详细情况(控制加-level n, eg:-level 4) -其他 跟随302跳转 Cookie注入(-level 2) 从post包注入 -常见注入参数Eg 获取当前数据库: python sqlmap.py -u “http://10.10.10.2/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit” –cookie =

运用cookie登陆人人网爬取数据

夙愿已清 提交于 2020-03-30 11:01:28
   浏览器访问WEB服务器的过程 在用户访问网页时,不论是通过URL输入域名或IP,还是点击链接,浏览器向WEB服务器发出了一个HTTP请求(Http Request),WEB服务器接收到客户端浏览器的请求之后,响应客户端的请求,发回相应的响应信息(Http Response),浏览器解析引擎,排版引擎分析返回的内容,呈现给用户。WEB应用程序在于服务器交互的过程中,HTTP请求和响应时发送的都是一个消息结构    什么是cookie cookie在http请求和http响应的头信息中,cookie是消息头的一种很重要的属性. 当用户通过浏览器首次访问一个域名时,访问的WEB服务器会给客户端发送数据,以保持WEB服务器与客户端之间的状态保持,这些数据就是Cookie,它是 Internet 站点创建的 ,为了辨别用户身份而储存在用户本地终端上的数据,Cookie中的信息一般都是经过加密的,Cookie存在缓存中或者硬盘中,在硬盘中的是一些小文本文件,当你访问该网站时,就会读取对应网站的Cookie信息,Cookie有效地提升了我们的上网体验。一般而言,一旦将 Cookie 保存在计算机上,则只有创建该 Cookie 的网站才能读取它。    为什么需要cookie Http协议是一个无状态的面向连接的协议,Http协议是基于tcp/ip协议层之上的协议

Cookie-Session

僤鯓⒐⒋嵵緔 提交于 2020-03-30 07:12:20
   会话 :用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话 Cookie   Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了。 Cookie存储位置   如果设置了Expires过期时间,那Cookie存储在硬盘上,如果没有设置,则存储在内存中,随着浏览器的关闭而消亡。   Win7上Cookies硬盘上的位置:   Cookie: C:/Users/[user name]/AppData/Roaming/Microsoft/Windows/Cookies/   C:/Users/[user name]/AppData/Roaming/Microsoft/Windows/Cookies/Low/   其中的部分文件夹,操作系统给隐藏掉了,可直接输入地址来查找。 HttpSession   Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的HttpSession对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时

vue cookie

一曲冷凌霜 提交于 2020-03-30 03:59:02
使用js-cookie依赖包 更多参考: https://www.npmjs.com/package/js-cookie 安装 cnpm install js-cookie --save 使用 import cookies from 'js-cookie' // 设置cookie cookies.set('name', 'value') cookies.set('name', 'value', { expires: days }) // 获取cookie cookies.get('name') // 删除cookie cookies.remove('name') 自己封装cookie的操作方法 建立cookie.js // 获取cookie export function getCookie(key) { var arr = [] var reg = new RegExp('(^| )' + key + '=([^;]*)(;|$)') arr = document.cookie.match(reg) if (arr) { return decodeURIComponent(arr[2]) } else { return null } } // 设置cookie export function setCookie(key, value, expiredays) { var

Chrome80调整SameSite策略对IdentityServer4的影响以及处理方案(翻译)

青春壹個敷衍的年華 提交于 2020-03-29 13:48:30
首先,好消息是Goole将于2020年2月份发布Chrome 80版本。本次发布将推进Google的“渐进改良Cookie”策略,打造一个更为安全和保障用户隐私的网络环境。 坏消息是,本次更新可能导致浏览器无法向服务端发送Cookie。如果你有多个不同域名的应用,部分用户很有可能出现会话时常被打断的情况。还有部分用户可能无法正常登出系统。 本篇博客将处理第一个问题(无法发送cookie到服务端)。至于第二个问题(cookie无法被删除),请参考另一篇 博客 。 首先,SameSite是什么 互联网是十分开放的平台:Cookie诞生于二十多年前,于2011年修订( RFC 6265 )。当时跨站访问攻击(CSRF)没有现在这么猖獗,侵犯用户隐私的行为也不像现在这样泛滥。 简而言之,Cookie标准规范规定,如果某域名下设置了Cookie,不管你是直接跳转到该域名,或是加载了该域名的某些资源(例如图片),或是向该域名发送POST请求,亦或将其嵌入iframe,浏览器访问该域名的每次请求,都将带上这个Cookie。 对于iframe嵌入的场景,你可能不希望浏览器将用户会话cookie自动发送到服务器,因为这样任何其他网站都可以在用户不知情的情况下,用他的会话上下文,跟你的服务器发送请求。 为了避免这种情况,SameSite cookie 规范 于2016年起草

Authenticate

痞子三分冷 提交于 2020-03-29 03:10:21
Authentication 1. Basic Authentication 老王,你家的狗咋还咬我呢? 那不是大黄没见过你嘛。 HTTP提供了用于权限控制和认证的通用框架,最常用的认证方案就是 Basic Authentication 认证的步骤: 接收到客户端的未认证请求后,服务端向客户端发送 challenge (质询信息),提供如何验证 客户端输入用户名和密码,发送经过 Base64 编码后的用户名密码组合字符串 服务端检查证书(credentials),通过返回 200 ,否则返回 403 . 响应头 质询信息 状态码 401 表示 Unauthorized WWW-Authenticate 字段,提供如何进行验证的信息,一般为 WWW-Authenticate: Basic realm="xxxxxx" ,表示用Basic HTTP验证方案 请求头 Authorization字段 以用户名 admin 密码 password 为例 将用户名密码用 : 联结 admin:password 通过 Base64 算法将联结后的字符串编码 将认证方法和空格添加到编码结果前,得到 Authorization 字段 Express实现Basic Auth 新建 app.js function basicAuth(req, res, next) { //

爬虫之爬汽车之家

孤人 提交于 2020-03-29 00:55:21
一、话说爬虫   先说说爬虫,爬虫常被用来抓取特定网站网页的HTML数据,定位在后端数据的获取,而对于网站而言,爬虫给网站带来流量的同时,一些设计不好的爬虫由于爬得太猛,导致给网站来带很大的负担,当然再加上一些网站并不希望被爬取,所以就出现了许许多多的反爬技术。 二、 安装 模块 1. requests 模块安装方法: pip3 install requests 2、beautisoup模块 软件安装方法: pip3 install beautifulsoup4 或 pip3 install bs4 3、lxml模块 #必须先安装whell依赖 (请换成国内pip源进行安装,否则容易报错)pip install wheel #在cmd中,输入python进入python。 然后输入import pip;print(pip.pep425tags.get_supported()),界面上输出当前python的版本信息,如图。 再跟据上面查到的版本信息,找到下面对应的版本进行安装。 #下载地址:https://pypi.python.org/pypi/lxml/3.7.3 (网站打不开,请翻墙,就可以打开)#python3.5就选择cp3m版本 lxml-3.7.3-cp35-cp35m-win32.whl#安装方法pip3 install lxml-3.6.4-cp35-cp35m

前端面试题目整理

吃可爱长大的小学妹 提交于 2020-03-28 20:12:33
1.请说出三种减少页面加载时间的方法。 * 1.优化图片 * 2.优化css,压缩合并css * 3.减少http请求(合并文件,合并图片) 2.解释下CSS sprites ,以及你要如何在页面或网站中使用它。 * CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”,“background-repeat”,“background-position”的组合进行背景定位,background-position可以用数字精确的定位出背景图片的位置。 3.简述一下你对HTML语义化的理解? * 用正确的标签做正确的事情。 * HTML语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析。即使在没有样式css情况下也以一种文档格式显示,并且是容易阅读的。 4.为什么要推出es6,相较es5有啥好处?(es6,实际上,就是一种新的javascript规范) * es6,它包含了一些很棒的新特性,可以更加方便的实现很多复杂的操作,提高开发人员的效率。 你所不知道的es6新特性 5.原生forEach和map的区别以及兼容 https://www.cnblogs.com/liuruyi/p/6483526.html 前端开发的优化问题 1、减少http请求次数:css spirit,data url 2、JS