cookie

cookie和session

∥☆過路亽.° 提交于 2019-12-03 14:34:34
http协议:超文本传输协议 面试:什么是http协议 http协议是超文本传输协议, 关于链接:它规定了一次请求一次响应之后就断开连接,体现了它的无状态、短连接 关于格式: 无连接的含义 是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间,一次请求,一次响应,之后就断开 无状态 是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。即我们给服务器发送 HTTP 请求之后,服务器根据请求,会给我们发送数据过来,但是,发送完,不会记录任何信息 cookie 维持会话,在请求头中添加cookie = {} ,类似于办会员的认识,没办的不认识是一个道理 cookie的引入是因为http是无状态的,不记录任何身份信息,跟无连接没有关系 1.什么是cookie cookie是浏览器的技术,Cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组键值对,可以理解为服务端给客户端的一个小甜点,下次访问服务器时浏览器会自动携带这些键值对,以便服务器提取有用信息 2. cookie的工作原理 浏览器访问服务端,带着一个空的cookie,然后由服务器产生内容,浏览器收到相应后保存在本地;当浏览器再次访问时,浏览器会自动带上Cookie,这样服务器就能通过Cookie的内容来判断这个是“谁”了。 3.

cookie和session

ⅰ亾dé卋堺 提交于 2019-12-03 14:34:01
cookie:存储在浏览器,请求服务器时顺便发给服务器。不安全的 session:存储在服务器,不是独立存在的,基于cookie。安全问题:session劫持 token:存在cookie里的session-ID cnpm i cookie-parser -D const express = require('express); const cookieParser = require('cookie-parser'); let server = express(); server.listen(8520); server.use(cookieParser()); server.get('/a',(req,res)=>{ console.log(req.cookies); res.cookie('amount',99.8,{ maxAge:14*86400*1000, }); }) cookie不跨域 子域名可以访问父级,但父级不能访问子级 www.baidu.com -> baidu.com baidu.com -x> www.baidu.com domain:'baidu.com' path:'/' 签名:需要一个秘钥。 cnpm i cookie-parser -D const express = require('express); const cookieParser =

HTTP头参数详解及其中的危险

拟墨画扇 提交于 2019-12-03 13:34:17
一、重要的头参数 user_agent    发出请求的用户信息 X-Forwarded-For  表示 HTTP 请求端真实 IP(格式: X - Forwarded - For : client , proxy1 , proxy2 )最开始的是离服务端最远的设备 IP,然后是每一级代理设备的 IP Referer    告诉服务器该网页是从哪个页面链接过来的。(作用:1.防盗链。2.防恶意请求) client_ip    是代理服务器发送的HTTP头(如果是“超级匿名代理”,则返回none值) cookie    可以让传输的时候保持一些状态信息(Cookie 是一种能够让网站 Web 服务器把少量数据储存到客户端的硬盘或内存里,或是从客户端的硬盘里读取数据的一种技术。分两类:会话cookie和持久cookie。) 二、危险的头注入 1.HOST注入 2.X-Forwarded-For注入 例如: GET /index.php HTTP/1.1 Host: [host] X_FORWARDED_FOR :127.0.0.1′ or 1=1# 3.user_agent注入 例如: GET /index.php HTTP/1.1 Host: [host] User-Agent: aaa’ or 1/* 4.Referer注入 例如: GET /index.php HTTP/1.1

curl 参数配置详解

匆匆过客 提交于 2019-12-03 13:21:22
第一类: 对于下面的这些option的可选参数,value应该被设置一个bool类型的值: CURLOPT_AUTOREFERER 当根据Location:重定向时,自动设置header中的Referer:信息。 CURLOPT_BINARYTRANSFER 在启用CURLOPT_RETURNTRANSFER的时候,返回原生的(Raw)输出。 CURLOPT_COOKIESESSION 启用时curl会仅仅传递一个session cookie,忽略其他的cookie,默认状况下cURL会将所有的cookie返回给服务端。session cookie是指那些用来判断服务器端的session是否有效而存在的cookie。 CURLOPT_CRLF 启用时将Unix的换行符转换成回车换行符。 CURLOPT_DNS_USE_GLOBAL_CACHE 启用时会启用一个全局的DNS缓存,此项为线程安全的,并且默认启用。 CURLOPT_FAILONERROR 显示HTTP状态码,默认行为是忽略编号小于等于400的HTTP信息。 CURLOPT_FILETIME 启用时会尝试修改远程文档中的信息。结果信息会通过 curl_getinfo()函数的CURLINFO_FILETIME选项返回。curl_getinfo(). CURLOPT_FOLLOWLOCATION 启用时会将服务器服务器返回的

持久化存储与HTTP缓存

老子叫甜甜 提交于 2019-12-03 13:17:11
本文主要学习一下一些高级的HTTP知识,例如 Session LocalStorage Cache-Control Expires ETag 其实主要就是涉及到了 持久化存储与缓存的技术 在此之前已经学习了 Cookie 的 相关知识 ,但是 Cookie 有个缺点是可以人为修改,有一定的安全隐患。 所以,针对这个缺点,诞生了 Session Session 一般来说 Session 是基于Cookie实现的,它利用一个 sessionId 把用户的敏感数据隐藏起来,除非暴力穷举才有可能获得敏感数据。 sessionId 我们使用 Cookie 的时候,一般是服务器给用户一个响应头,设置 Cookie response.setHeader('Set-Cookie', 'sign_in_email=...;HTTPOnly') 既然Session还是基于 Cookie 实现的,那么还是应该在 Set-Cookie 上搞事情。 //预先在服务器端预留对象准备存储各种session let sessions = { } ... let sessionId = Math.random() * 100000 sessions[sessionId] = {sign_in_email: email} response.setHeader('Set-Cookie', `sessionId=$

ARTS-week2

十年热恋 提交于 2019-12-03 12:16:55
Algorithm 给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本。所谓无效化 IP 地址,其实就是用 "[.]" 代替了每个 "."。 Defanging an IP Address class Solution: def defangIPaddr(self, address: str) -> str: return address.replace('.','[.]') Review "How Steelkiwi QA Experts use Apache JMeter in daily work or web application performance testing with HTTP(S) protocols and csrf tokens?” 1.创建测试计划 2.录制测试脚本 3.更改代理 4.在请求中添加csrf Tip selenium解决登录验证码的几种方法。 1.万能验证码 2.cookie绕过 cookie= driver.get_cookies() ... driver.add_cookie(cookie) 3.图像识别验证码 pytesseract库识别图片(只能识别规则数字) showapiRequest库识别验证码 Share 如何超过大多数人 温故而知新 来源: https://www.cnblogs.com

浅谈用户行为分析之用户身份识别:cookie 知多少?

一笑奈何 提交于 2019-12-03 11:57:07
对于数据统计分析或者数据挖掘而言,用户是个非常重要的维度,也是统计分析能落地的基础。一般而言,咱们追踪或者识别一个用户的首选方案是 userID,大多数公司的产品都会要求用户注册、登录操作,都存在一个类似 UMC 的数据库,管理和标示所有的用户。但这有个前提条件,就是你所在的公司业务必须以闭环为主(比如 qq、微信、淘宝等)。如果产品没有形成闭环,用户就不会主动去注册、登录,那上面通过 userID 数据库来管理、追踪用户行为的方案就不行了。比如BBS站点或者广告联盟都会非常想要一种技术方式可以在网络上精确定位到每一个个体,这样可以通过收集这些个体的数据,通过分析后更加精准的去推送广告(精准化营销)或其他有针对性的一些活动。当用户访问一个网站时,网站生成一个含有唯一标示符(UUID)的信息,并通过这个信息将用户所有行为(浏览了哪些页面?搜索了哪些关键字?对什么感兴趣?点了哪些按钮?用了哪些功能?看了哪些商品?把哪些放入了购物车等等)关联起来。那这种情况下有没有可能有其它的技术方案去管理追踪这种游客态用户呢? 答案或许很多同学会回答用 cookie。是的,对于游客态用户而言,常用的身份识别方案就是使用 cookie,技术实现难度小,成本相对很低廉。那是不是使用 cookie 就万事大吉了呢?准确性、稳定性、可辨识性怎么样?下面咱们就来深入探讨下 cookie

HTTP知识点总结

£可爱£侵袭症+ 提交于 2019-12-03 11:41:07
概述 1.HTTP协议是一种应用层的传输协议,用于客户端和服务器之间的通信 2.HTTP协议处于TCP/IP模型中的应用层,基于TCP传输协议,常用端口80 3.当使用TLS加密TCP的载荷(即HTTP内容)时,这个就是目前常见的HTTPS,常用端口443 协议栈结构如下 4.HTTP传输的资源:网络上一切内容即资源,包括:html css js 图片 视频等 5.HTTP协议版本历史: HTTP/0.9:这个名字是后来取的,人们把HTTP/1.0之前的版本统称为HTTP/0.9,HTTP/0.9时代并没有作为正式标准被建立。 HTTP/1.0:该版本作为标准正式公布于1996年5月,至今仍广泛用于服务器端。 HTTP/1.1:1997年1月公布,是至今为止最主流的HTTP协议版本。 HTTP/2.0:是HTTP协议自1999年HTTP 1.1发布后的首个更新,主要基于SPDY协议 6.WEB上常见组件: 用户代理(user agent):就是客户端,如浏览器,以及web机器人、爬虫等 源服务器(origin server):就是Web服务器,但不一定时一个服务器,可能是集群 代理(Proxies):代理位于客户端和服务器之间,接收所有客户端的HTTP请求,并把这些请求转发给服务器(可能会对请求进行修改之后转发)。根据不同作用也分为几种代理服务器:缓存,过滤,负载均衡,认证

Flask中的session机制

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-03 11:03:35
cookie和session cookie:网站中,http请求是无状态的,第一次和服务器连接后并且登陆成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是解决了改问题,第一次登陆后服务器返回数据(cookie是存储数据的一种格式)给浏览器,然后浏览器保存到本地,用户第二次请求的时候,就会携带cookie数据自动携带给服务器,服务器通过浏览器携带的数据就能判断当前用户。cookie存储数据有限,不同浏览器不同的存储大小,但一般不超过4kb,因此cookie只能存储小量数据。 session:session与cookie类似,都是存储用户相关信息,不同的是cookie存储在本地浏览器,session存储在服务器,存储在服务器的数据会更安全。但是存储在服务器会占用服务器的资源。 cookie和session的结合使用: 存储在服务端:通过cookie存储一个session_id,具体数据保存在session(存储数据的方式)中。用户如果已经登陆服务器会在cookie中保存一个session_id,下次请求的时候会把sessin_id携带上来,服务器根据session_id在session库中获取用户的session数据,就可以知道用户是谁。专业术语叫:sever side session flask中将session数据加密,存储在cookie中

cookie与session的区别是什么

我的梦境 提交于 2019-12-03 10:57:26
cookie与session的区别有:cookie以文本格式存储在浏览器上,存储量有限;而会话存储在服务端,可以无限量存储多个变量并且比cookie更安全 在php中可以指定站点的访问者信息存储在session或者cookie中,它们都可以完成同样的事,那么他们的区别是什么呢,接下来将在文章中为大家详细介绍。 cookie 位于用户的计算机上,用来维护用户计算机中的信息,直到用户删除。比如我们在网页上登录某个软件时输入用户名及密码时如果保存为cookie,则每次我们访问的时候就不需要登录网站了。我们可以在浏览器上保存任何文本,而且我们还可以随时随地的去阻止它或者删除。我们同样也可以禁用或者编辑cookie,但是有一点需要注意不要使用cookie来存储一些隐私数据,以防隐私泄露 session session称为会话信息,位于web服务器上,主要负责访问者与网站之间的交互,当访问浏览器请求http地址时,将传递到web服务器上并与访问信息进行匹配, 当关闭网站时就表示会话已经结束,网站无法访问该信息了,所以它无法保存永久数据,我们无法访问以及禁用网站 session与cookie的区别 (1)Cookie以文本文件格式存储在浏览器中,而session存储在服务端它存储了限制数据量。它只允许4kb它没有在cookie中保存多个变量。 (2)cookie的存储限制了数据量,只允许4KB