发表于: 2018-04-06 23:34:15

1 634


今天完成的事情:

1、Cookie, LocalStorage 与 SessionStorage

这三个都是用来保存数据的,它们的异同如下:

相同点:

Cookie, LocalStorage 与 SessionStorage都保存在浏览器端,且是同源的。

不同点:

1:cookie 数据始终在同源的http请求中携带,而 webStorage 不会再请求中携带,仅仅在本地存储。

2:存储大小区别,cookie 是4k,webStorage 可以达到5M甚至更大。

3:数据有效时间区别: sessionStorage 仅仅是会话级别的存储,它只在当前浏览器关闭前有效,不能持久保持。localStorage 始终有效,即使窗口或浏览器关闭也一直有效,除非用户手动删除,其才会失效;cookie 只在设置的 cookie 过期时间之前一直有效。

4:作用域区别:sessionStorage 不在不同的浏览器窗口中共享,即使是同一个页面; localStorage 和 cookie 在所有同源窗口是共享的。

5:Web Storage 支持事件通知机制,可以将数据更新的通知发送给监听者。Web Storage 的 api 接口使用更方便。

6:cookie还需要指定作用域,不可以跨域调用。


2、Httponly

要理解HttpOnly的作用,要先弄懂XSS攻击,即跨站脚本攻击,大伙可以Google一下看看XSS到底是什么,来自wikipedia的解释:

跨网站脚本是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意使用者将代码注入到网页上,其他使用者在观看网页时就会受到影响。这类攻击通常包含了HTML以及使用者端脚本语言。

而httponly在一定程度上解决了这个问题(并没有完全解除xss攻击),给cookie设置httponly属性,会让恶意的javascript代码读取不到我们的cookie。

网上看到的一段话:

HttpOnly 主要是为了限制web页面程序的browser端script程序读取cookie, 实际是浏览器通过协议实现限制的,黑客可不会那么傻,肯定不会用HTTP协议来读取cookie,肯定是在socket层面写抓包程序,相当于写一个低于IE6版本的应用程序。


3、弄清楚了我的代码,为什么不能正确生成用户信息的Token。跨域访问response响应体里面的

set-cookie会失效。因此虽然cookie正确的添加带response里面,但是在客户端会失效。


4、另外整合了redis缓存。这个之前已经做过了。这次只是修改了少部分,就不贴图了。



明天计划的事情:

学习XSS攻击。


遇到的问题:

状态不好,持续低迷


收获:

为了找出不能正确生成cookie的原因,杂七杂八的东西了解了一点。




返回列表 返回列表
评论

    分享到