后端nodejs开发面试总结

token被恶意拦截后怎么办

总结:

  1. 多加一层token算法,手机号验证
  2. 在token中增加ip验证,多个ip登录的话让token失效,这样token脱离ip也是无法验证通过的
  3. token过期时间短一些

网页中怎样禁止通过输入url直接访问?

  1. 对于登录后的用户 若有get请求的url链接后 可以用session 判断用户是否登录 用sessionid 判断是否是同一个用户的权限 或者用 URL的链接为随机的 设置不重复的token 每次提交数据到后台 进行数据验证
  2. 还可以用http 请求头中的refer 来判断其访问来源
  3. 设置过滤器及过滤规则
  4. 到用户权限表里面查找用户的权限

介绍session和cookie及区别

常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。

1.1 Cookie机制

理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另一个会话,二者不能混淆。例如,用户A在超市购买的任何商品都应该放在A的购物车内,不论是用户A什么时间购买的,这都是属于同一个会话的,不能放入用户B或用户C的购物车内,这不属于同一个会话。
而Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。即用户A购买了一件商品放入购物车内,当再次购买商品时服务器已经无法判断该购买行为是属于用户A的会话还是用户B的会话了。要跟踪该会话,必须引入一种机制。

Cookie就是这样的一种机制。它可以弥补HTTP协议无状态的不足。在Session出现之前,基本上所有的网站都采用Cookie来跟踪会话。
Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。
查看某个网站颁发的Cookie很简单。在浏览器地址栏输入javascript:alert (document. cookie)就可以了(需要有网才能查看)。JavaScript脚本会弹出一个对话框显示本网站颁发的所有Cookie的内容

1.2 Session的实现依赖于Cookie, sessionId(session的唯一标识需要存放在客户端).

cookie 和 session 的区别:

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、cookie不是很安全,别人可以分析存放在本地的 COOKIE并进行 COOKIE欺骗,考虑到安全应当使用 session。

3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用 COOKIE。

4、单个 cookie保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存20个 cookie。

关于K8s

1.自愈

重新启动失败的容器

2.弹性伸缩

监控容器cpu负载值

3.服务的自动发现和负载均衡

4.滚动升级和一键回滚

关于docker

主要解决环境配置的问题

1.持续集成

持续部署与测试
构建、测试、发布镜像

2.可移植性

多云平台

3.版本控制

4.隔离性

应用程序与资源分开的

5.安全性

部署方便安全、成本低

你可能感兴趣的:(笔记,session,cookie)