转载地址:https://blog.csdn.net/u013205877/article/details/77512180
没有绝对的安全!
1.cookie
我们都知道Http是一种无状态性的协议,这种协议不要求浏览器在每次请求中标明他自己的身份,每次发个请求回个相应就完事了,那怎么校验发请求的人的身份呢,这就催生了Cookies.
本质上Cookies就是http的一个扩展,有两个http头部是专门负责设置和发送cookies的(Set-Cookies以及Cookies)当服务器返回给客户端一个http相应的时候,其中如果包含Set-Cookies这个头部,就意味着让客户端建立cookie,并且在后续的请求中自动发送这个cookies到服务器,一直到这个cookie过期
1. 客户端发送一个http请求到服务器端
2. 服务器端发送一个http响应到客户端,其中包含Set-Cookie头部
3. 客户端发送一个http请求到服务器端,其中包含Cookie头部
4. 服务器端发送一个http响应到客户端
2.session
最简单的针对session的攻击就是跨站请求伪造 ——CSRF
关键点是如何不让攻击者获取到sessionid,然后伪装成正常访问者,但是从理论上来说这是不能绝对实现的,我们只能通过不同的手法增加攻击者获取sessionid的难度
有三种方法
1. 验证请求头中的数据,比如验证User-Agent的变化
2. 增加token校验
3. 利用get.post.cookie等不同的传输方式来传递sessionid和token等增加攻击者获取难度