cookie

关于JWT分析的文章转载

夙愿已清 提交于 2020-01-06 22:06:17
转载 JWT 超详细分析 本篇文章不讨论 Laravel 中 JWT 这个怎么使用,要这方面内容的可以看我另一篇文章 JWT 完整使用详解 。 在此我要从一个更深的层次来探讨 JWT 在实际运用中的使用以及其优缺点,以及 JWT 和 Oauth 2.0 这两者到底有什么差别和联系。 首先我们从 Token 入手,再联系到 JWT,然后分析 JWT 的优缺点和使用场景,最后再联系到 Oauth2.0。 一、Token token 是一串字符串,通常因为作为鉴权凭据,最常用的使用场景是 API 鉴权。 1. API 鉴权 那么 API 鉴权一般有几种方式呢?我大概整理了如下: cookie + session 和平常 web 登陆一样的鉴权方式,很常见,不再赘述。 HTTP Basic 将账号和密码拼接然后 base64 编码加到 header 头中。很显然,因为账号和密码几乎是『明文』传输的,而且每次请求都传,安全性可想而知。 HTTP Digest 将账号和密码加上其他一些信息拼接然后取摘要加到 header 头中。这个安全性比上面要好一点,因为如果是取摘要的话,即使信息段被截取,也无法轻易破解出来(当然也是有破解的可能)。 不过其实最大的问题还是:每次请求都要对账号、密码取一次摘要,也就是说每次请求都要有账号和密码,也就是说账号和密码要么缓存一下,要么就每次请求要去用户输一次密码

2010年1月6日 笔记

梦想与她 提交于 2020-01-06 21:55:15
应用层 应用层:应用层是网络体系中最高的一层,也是唯一面向用户的一层,应用层将为用户提供常用的应用程序,并实现网络服务的各种功能。常用的电子邮件、上网浏览等网络服务,都是应用层的程序。 表示层:主要进行编码,加密,解密,压缩与解压缩。 会话层:主要功能是在两个节点间建立、维护和释放面向用户的连接,并对会话进行管理和控制,保证会话数据可靠传送。 应用层中的应用软件服务模式:客户/服务器模式、浏览器/服务器和P2P体系结构及混合模式 1)客户/服务器 这种类型就是我们很熟悉的客户端。服务器模型,客户端请求服务器,服务器 2)浏览器/服务器 通过浏览器访问服务器,因而传播更加广泛,如谷歌、百度等。 3)P2P 俩个主机之间的通信。 FTP ftp又称文件传输协议 ftp采用客户/服务器模式,分为客户机和服务器。 提供了一种有效的在客户机和服务器之间的文件下载与上传。 FTP传输数据分为: 控制进程:建立的控制连接,在数据传输过程中21端口一直处于打开状态,处理客户的请求连接。 数据进程:建立的数据连接,主要为了C/S之间传送数据。打开20端口 所以FTP服务打开俩个端口:20端口和21端口。 FTP的传输模式有ASCII模式和二进制模式,传输模式定义了在数据传输过程中以什么形式的编码方式传输数据。 Cookie是什么? 当我们第一次访问某网站时,cookie会记录某些我们访问过的数据

SOS系列之-单点登录原理

岁酱吖の 提交于 2020-01-06 20:41:46
一.单点登录介绍 单点登录(Single Sign On),简称为 SSO,是比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 二.技术实现机制 当用户第一次访问应用系统的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返回给用户一个认证的凭据--ticket;用户再访问别的应用的时候,就会将这个ticket带上,作为自己认证的凭据,应用系统接受到请求之后会把ticket送到认证系统进行校验,检查ticket的合法性。如果通过校验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了。 要实现SSO,需要以下主要的功能: 1.所有应用系统共享一个身份认证系统。   统一的认证系统是SSO的前提之一。认证系统的主要功能是将用户的登录信息和用户信息库相比较,对用户进行登录认证;认证成功后,认证系统应该生成统一的认证标志(ticket),返还给用户。另外,认证系统还应该对ticket进行效验,判断其有效性。    2.所有应用系统能够识别和提取ticket信息。   要实现SSO的功能,让用户只登录一次,就必须让应用系统能够识别已经登录过的用户。应用系统应该能对ticket进行识别和提取,通过与认证系统的通讯,能自动判断当前用户是否登录过

web前端 | 博客(二)登录功能

扶醉桌前 提交于 2020-01-06 20:29:47
实现登录功能 创建用户集合,初始化用户 连接数据库 创建用户集合 初始化用户 为登录表单项设置请求地址,请求方式(GET方法会将参数放到地址栏中,不隐蔽,要用POST方法,它将参数放到消息体中,比较隐蔽)以及表单name属性 当用户点击登录按钮时,客户端验证用户是否填写了登录表单 如果其中一项没有输入,则阻止表单提交 服务器端请求接收参数,验证用户是否填写了登录表单(有时候客户端的js代码会被禁用,无法正确识别表单的准确性,故服务端的表单验证必不可少) 如果有一项没有输入,为客户端做出响应,阻止程序向下执行(例如,如果没有填写邮箱,则找不到该用户)(无论邮箱地址错误还是密码错误,一律提示两者都错,防止用户恶意猜出其他用户的账号密码) 根据邮箱地址查询用户信息 如果用户不存在,为客户端做出响应 如果用户存在,将用户名和密码进行比对 比对成功,则用户登录成功 比对失败,则则用户登录失败 数据库 数据库连接 在model中新建connect.js和user.js,分别用于数据库连接和创建用户集合。 connect.js //连接数据库 //引入mongoose第三方模块,这个对象下面有个connect方法用户连接数据库 const mongoose = require ( 'mongoose' ) ; //连接数据库 mongoose . connect ( 'mongodb:/

爬虫 第三天

拜拜、爱过 提交于 2020-01-06 20:22:16
爬虫 第三天 requests高级 自己完成的任务 pyquery 标签定位和数据的提取 urllib 如何进行请求的发送 requests模块高级 代理 模拟登陆 验证码 cookie 代理(反爬机制) 概念:代理服务器 代理服务器的作用: 拦截请求和响应,进行转发 代理和爬虫之间的关联是什么? 如果pc端的ip被禁掉后,我们就可以使用代理的机制更换请求的ip 如何获取相关的代理服务器: 快代理 西祠代理 goubanjia 代理精灵:推荐。http://http.zhiliandaili.cn/ 匿名度: 透明:知道你使用了代理也知道你的真实ip 匿名:对方服务器知道你使用了代理机制,但是不知道你的真实ip 高匿:对方服务器不知道你使用了代理机制更不知道你的真实ip 类型: http:只可以拦截转发http协议的请求 https:只可以转发拦截https的请求 基本测试:代理的作用 基于百度搜索ip,搜索到的页面中会显示该请求对应的ip地址 语法结构 get/post(proxies={‘http/https’:‘ip:port’}) In [2]: import requests from lxml import etree headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64)

requests

☆樱花仙子☆ 提交于 2020-01-06 18:22:00
目录 1.安装 2.引入 3.请求方式 3.1 GET请求 3.1.1 基本请求 3.1.2 GET请求的主要参数 3.2 POST请求 3.2.1 使用POST请求模拟登陆 4.响应 4.1 响应参数 5.其他 requests官方中文文档: https://requests.readthedocs.io/zh_CN/latest/ 1.安装 pip install requests 2.引入 import requests # 发送请求获取响应内容 response = request.get('http://www.baidu.com') 3.请求方式 3.1 GET请求 HTTP默认的请求方法就是GET 没有请求体 数据必须在1K之内 GET请求数据会暴露在浏览器的地址栏中 GET请求常用的操作: 在浏览器的地址栏中直接给出URL,那么就一定是GET请求 点击页面上的超链接也一定是GET请求 提交表单时,表单默认使用GET请求,但可以设置为POST 3.1.1 基本请求 import requests # 发送请求获取响应内容 response = request.get('http://www.baidu.com') print(response.text) 3.1.2 GET请求的主要参数 url 请求资源的路径 headers User-Agent

京东商品自动下单

三世轮回 提交于 2020-01-06 14:56:43
在现在,商家一年不卖货,双11卖出一年的货是大家都知道的事实了,总得来说调一调蚊子腿的价格,聊胜于无,但是也会有些神价格会出现,这时候买到就是赚到 本来是想趁着双11组台电脑,买个 Z370 的板U套装,没想到京东的 8700k 一直是无货的状态,这几天有货了,价格涨到了3999,简直不能忍,看了下板U套装比较划算,但是有些板U套装是不支持自动下单的,所以 gayhub 搜搜看有没有爬虫可以监听到货自动下单的,正好有了这哥们的 jd-autobuy Python 脚本,还有 Go 的,看了下接口已经很齐全了,来个 node 版本的助助兴 这次用到的 http 库是 axios ,支持客户端和服务端,总得来说语法还是很简洁的,在这之前还有个 superagent 库,看了下也差不多,只不过 superagent 在 response 上多处理了下 因为在 vue 中使用了 axios,这次想试试服务端的能力咋样,还是一如既往的好,滋次一波 先写个 request header ,毕竟是服务端,没有浏览器帮你处理 User-Agent,所以自己去浏览器请求下然后把 header 拿到 const defaultInfo = { header: { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0)

request

删除回忆录丶 提交于 2020-01-06 00:55:23
目录 1.安装 2.引入 3.请求方式 3.1 GET请求 3.1.1 基本请求 3.1.2 GET请求的主要参数 3.2 POST请求 3.2.1 使用POST请求模拟登陆 4.响应 4.1 响应参数 5.其他 requests官方中文文档: https://requests.readthedocs.io/zh_CN/latest/ 1.安装 pip install requests 2.引入 import requests # 发送请求获取响应内容 response = request.get('http://www.baidu.com') 3.请求方式 3.1 GET请求 HTTP默认的请求方法就是GET 没有请求体 数据必须在1K之内 GET请求数据会暴露在浏览器的地址栏中 GET请求常用的操作: 在浏览器的地址栏中直接给出URL,那么就一定是GET请求 点击页面上的超链接也一定是GET请求 提交表单时,表单默认使用GET请求,但可以设置为POST 3.1.1 基本请求 import requests # 发送请求获取响应内容 response = request.get('http://www.baidu.com') print(response.text) 3.1.2 GET请求的主要参数 url 请求资源的路径 headers User-Agent

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

六眼飞鱼酱① 提交于 2020-01-05 09:18:58
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,为登录将请求重定向到的

可登陆爬虫Python实现

自古美人都是妖i 提交于 2020-01-05 03:39:21
最近期末测试完结了,正好恰逢周末,就想找点事来做,之前做过爬虫,遇到了登录的问题,今天就来整理下。 登录问题其实就是程序发送请求,服务器返回数据时,发出http响应消息报文,这两种类型的消息都是由一个起始行,而cookie就在在http请求和http响应的头信息中,在请求中添加用户信息的cookie即可实现登录。于是乎cookie是消息头的一种很重要的属性。 什么是Cookie? 当用户通过浏览器首次访问一个域名时,访问的WEB服务器会给客户端发送数据,以保持WEB服务器与客户端之间的状态保持,这些数据就是Cookie, 它是 Internet 站点创建的 ,为了辨别用户身份而储存在用户本地终端上的数据, Cookie中的信息一般都是经过加密的,Cookie存在缓存中或者硬盘中,在硬盘中的是一些小文本文件,当你访问该网站时,就会读取对应网站的Cookie信息,Cookie有效地提升了我们的上网体验。一般而言,一旦将 Cookie 保存在计算机上,则只有创建该 Cookie 的网站才能读取它。 Cookie的种类 会话Cookie(Session Cookie) :这个类型的cookie 只在会话期间内有效 ,保存在浏览器的缓存之中,用户访问网站时,会话Cookie被创建,当关闭浏览器的时候,它会被浏览器删除。 持久Cookie(Persistent Cookie) : 这个类型的