Referer

包含发出请求的页面的地址(url),通常来讲referer可以告诉服务器我是通过了xxx网址(例如搜索引擎等)的链接连接到了这个网址(访问这个URI),服务器可以由此进行一些数据上的处理,即为一种来源,可以在一定程度上起到防盗链的作用。

image.png

key=value等的形式组成,发明cookie的目的是以此维持客户端和服务器的长久会话关系以及存储之前的通信状态(与http是无状态协议有关),举个例子来讲:如果你在网购,如果没有cookie的存在,那么你每一次点击一个新的链接的时候,你往往每一次都需要重新输入账号密码,十分的麻烦。Cookie也是一种认证的手段,客户端在访问服务器对应的资源时携带cookie,告诉服务器你这个客户端的用户是xxxx

HTTP 响应标头用于将 Cookie 从服务器发送到用户代理,以便用户代理以后可以将其发送回服务器,往往在你注册一个账户的时候出现。Set-cookiecookie两者是一一对应的。

User-agent

image.png

X-forwarded-for

用于标识连接到web服务器的客户端的原始ip地址

image.png

image.png

代理服务器一般都位于客户端和服务器的会话通道之间,具体作用有很多,可以参阅《图解http》

Gin-gonic/gin后端框架

摘自github

渣翻译一下:

默认没有任何安全警告的情况下使用X-Forwarded-ForX-Real-IpClientIP() 会在安全方面引起人的注意。(CIientIP意思为“客户端ip”)

如果应用程序在没有反向代理的情况下直接侦听公共端口或反向代理未正确配置,则攻击者可以轻松欺骗任何 IP 地址,例如,如果反向代理配置为使用X-Real-Ip,它看起来会正常工作,但 X-Forwarded-For 优先,因此远程 IP 地址仍然可以被欺骗。

一些x-forwarded-forx-real-ip的区别

image.png

(个人看法)其实怎么说呢,如果这个方法伪造ip不行就换一个试试呗(doge),看后端的处理逻辑是怎么样的了……

可以稍微参考一下这个网址:https://www.cnblogs.com/mypath/articles/5239687.html

image.png

image.png

解释一下正向代理和反向代理

反向代理(reverse proxy)是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

正向代理(forward proxy)是一个位于客户端和目标服务器之间的服务器(代理服务器),为了从目标服务器取得内容,客户端向代理服务器发送一个请求并指定目标,然后代理服务器向目标服务器转交请求并将获得的内容返回给客户端。

(类似于召唤和反召唤

Jwt token(json web令牌)

Jwt token是一种经过数字签名,用于将信息作为json对象在各方之间安全地传输的令牌,可用于一般的授权和信息交换,也是一种跨域认证解决方案。Jwt token由3个部分组成,分为页眉有效载荷(payload)签名,通常如下所示:xxxxx.yyyyy.zzzzz

页眉的标头通常由两部分组成:令牌的类型(即 JWT)和正在使用的签名算法(如 HMAC SHA256 或 RSA)

image.png

然后,这个 JSONBase64Url 编码,以形成 JWT 的第一部分。

Jwt第二部分

image.png

image.png

第三部分

image.png

在身份验证中,当用户使用其凭据成功登录时,将返回 JSON Web 令牌。由于令牌是凭据,因此必须非常小心地防止安全问题。通常,保留令牌的时间不应超过所需的时间。由于缺乏安全性,您也不应将敏感会话数据存储在浏览器存储当中

image.png

week1大概就整理这些了……