美文网首页
网络安全

网络安全

作者: 罂粟1995 | 来源:发表于2020-03-15 22:06 被阅读0次
1. http1.1 、http1.0、 http2.0、https的区别在哪里?

http1.0是最先广泛使用的版本;http1.1是目前最流行的版本,将http1.0所用的tcp短连接(一次请求进行一次三次握手)优化成了tcp长连接,可以处理多次http请求。http2.0对http1.1进行了改进,比如使用多路复用机制,一个tcp可以处理多个并发http请求。https是http+tls协议的组合,会对传输数据进行加密。

2. cookie和session的区别是什么?

都是会话跟踪技术,用来跟踪用户的整个会话。区别是Cookie通过在客户端记录信息确定用户身份;Session通过在服务器端记录信息确定用户身份。Cookie因为在每次网络请求的时候都会携带,所以信息比较容易被窃取。

3. cookie的生命周期和session的生命周期。

如果cookie没有设置超时时间,那么cookie会在浏览器退出时销毁;如果设置了超时时间,会在超时时销毁。
session的过期时间在程序中设置,从session没有活动的时候开始计算。

4.websocket 和http区别。

http协议是用在应用层的协议,他是基于tcp协议的,http协议建立链接也必须要有三次握手才能发送信息。

http链接分为短链接,长链接,短链接是每次请求都要三次握手才能发送自己的信息。即每一个request对应一个response。长链接是在一定的期限内保持链接。保持TCP连接不断开。客户端与服务器通信,必须要有客户端发起然后服务器返回结果。客户端是主动的,服务器是被动的。

WebSocket他是为了解决客户端发起多个http请求到服务器资源浏览器必须要经过长时间的轮训问题而生的,他实现了多路复用,他是全双工通信。在webSocket协议下客服端和浏览器可以同时发送信息。

建立了WenSocket之后服务器不必在浏览器发送request请求之后才能发送信息到浏览器。这时的服务器已有主动权想什么时候发就可以发送信息到服务器。而且信息当中不必在带有head的部分信息了与http的长链接通信来说,这种方式,不仅能降低服务器的压力。而且信息当中也减少了部分多余的信息。

5.xss 和 csrf。

xss:跨站脚本攻击。同源策略虽然限制了跨域行为,但仍有些特殊标签不受同源策略限制。xss通常是带有页面可解析内容的数据未经处理直接插入到页面上解析造成的。比如,在评论上提交一条<script></script>,script标签中一个a标签,标签的src指向外站,其他用户点击该链接,便可在外站中获取大量此用户的cookie信息,恶意用户就可以利用这些cookie进行登录。解决办法有:

  • 一是输入检查,处理富文本框输入内容,进行XSS过滤,过滤类似script、iframe、form等标签以及转义存储;
  • 二是输出检查,编码转义,如果使用jquery,使用append、html、before、after等插入DOM的方法时需要注意。现今大部分的MV*框架在模板(view层)能够自动处理XSS问题。

csrf:跨站请求伪造。它与xss的区别在于,xss是利用普通用户,窃取普通用户的信息登录站点,csrf则是冒充了普通用户的身份访问站点。
举例:
首先用户C浏览并登录了受信任站点A;
登录信息验证通过以后,站点A会在返回给浏览器的信息中带上已登录的cookie,cookie信息会在浏览器端保存一定时间;
完成这一步以后,用户在没有登出(清除站点A的cookie)站点A的情况下,访问恶意站点B;
这时恶意站点 B的某个页面向站点A发起请求,而这个请求会带上浏览器端所保存的站点A的cookie;
站点A根据请求所带的cookie,判断此请求为用户C所发送的。
解决办法有:
增加token验证。 CSRF 攻击之所以能够成功,是因为黑客可以完全伪造用户的请求,该请求中所有的用户验证信息都是存在于 cookie 中,因此黑客可以在不知道这些验证信息的情况下直接利用用户自己的 cookie 来通过安全验证。要抵御 CSRF,关键在于在请求中放入黑客所不能伪造的信息,并且该信息不存在于 cookie 之中。可以在 HTTP 请求中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这个 token,如果请求中没有 token 或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求。

6. 什么是token验证?
  • 首次登录时,后端服务器判断用户账号密码正确之后,根据用户id、用户名、定义好的秘钥、过期时间生成 token ,返回给前端;
  • 前端拿到后端返回的 token;
  • 每次请求接口,在 Axios 请求头里携带 token;
  • 后端接口判断请求头有无 token,没有或者 token 过期,返回401;
  • 前端得到 401 状态码,重定向到登录页面
7. http请求头与相应头包含哪些内容?

请求头:cookie、Accept(客户端告诉服务端客户端希望接收的内容)、Accept-Encoding(客户端支持的编码)、Accept-Language(客户端支持的语言)、Accept-Date(发送日期)、Host(服务器主机地址)等。
相应头:Content-Length(相应报文总长度)、Content-Type(文档类型)、Connection(浏览器与服务器之间连接的类型)、server(服务器名字)、Date等。

相关文章

网友评论

      本文标题:网络安全

      本文链接:https://www.haomeiwen.com/subject/qmoeehtx.html