前言:
其实很多人都开始学习Node了,或者也试了一些express这样的库去做web开发,但是实战的经验确实不是很多,原因很简单:现在的项目或者自己的level还没法去接一些这样node的case,而这本书集聚了cnode社区的老人,里面大部分还是干活。
正文:
试读的部分内容属于后面的,主要是专注在node服务相关的安全。
- 什么是web安全?
- 保密性:保护书籍内容不泄露,加密
- 完整性:数据不被篡改
- 可用性:web站点可被访问,拒绝Dos
- HTTP管道洪水漏洞
这个主要出现在0.8.26和0.10.21之前,原因:
客户端不接收服务器端的响应,但客户端又拼命发送请求,造成Stream流无法泄洪,主机内存耗尽而崩溃。
一些攻击手段:
- SQL注入:其实这个不是很了解,写的稍微少点
大致记一下防范措施:保证拼接到SQL查询语句的变量都经过escape过滤函数,使用比较成熟的ORM框架
- XSS脚本攻击【Cross-Site-Scripting】
其实这个前端还是遇到过很多次的:
- ajax的xss注入
- base64注入
- ASC II码
- 图片src的 onerror
- link的href
- iframe
其实这些大部分都是要过滤 < 和 >
- CSRF请求伪造
cookie的特性:
- 同源性:保证不会跨域发送造成泄密
- 附带性:保证每次请求服务器端都会在请求头带上cookie信息
session对象可以保存在文件中,也可以保存在内存里。建议保存在第三方媒介:redis或者mongodb
express框架将session保存到内存里面。
除了可以用cookie保存sessionid,还可以用url参数来保存
Etag来保存sessionid也被使用在用户行为跟踪上:
Etag是静态资源服务器对用户请求头中if-none-match的响应:
一般第一次请求某一个静态资源是不会带上任何关于缓存信息的请求头的,这个时候静态资源服务器根据资源的大小和最终修改时间,哈希计算一个字符串作为Etag的值响应客户端。
第二次再访问静态资源的时候,由于本地浏览器具有次图片缓存,但不确定服务器是否已经更新掉了这个静态资源,发起请求带上if-none-match参数,其值就是上次请求服务器响应的Etag值。服务器接收到这个if-none-match值,再根据算法生成Etag,并对比,如果相同,说明资源没有更新,响应状态304
其实以前对Etag的理解好像有点偏差,通过这里面的描述,加深了Etag的值的定义的理解。
- 应用层DoS拒绝服务
- 文件路径漏洞
- 加密安全
- 对称加密:AES DES
- 非对称加密:RSA
- 不可逆加密:md5、SHA-1
这边有一个例子:
var crypto = require('crypto'); var md5 = function(str, encoding){ return crypto.createHash('md5') .update(str) .digest(encoding || 'hex'); }; console.log(md5("nodejs"));
其实最早的时候,我一直是用这个方法做md5的转换,但是书中确实提到,一些网站很简单地就破解了
后面还是得用时间戳 + gap + 某个需要加密的东西
结语:
其实也关注过Node相关的服务安全,但是确实没有如此深刻,感谢这次读书活动,内容很干货
相关推荐
作者简介:Mike CantelonNode.js核心框架贡献者、Node社区活跃分子、资深培训师和演讲人。
nodejs 实战nodejs 实战nodejs 实战nodejs 实战nodejs 实战
NodeJS实战完整版本,带目录,需要的自己下载资源,。。
Nodejs实战源码,Nodejs实战源码,Nodejs实战源码,Nodejs实战源码
nodejs实战第二季 网盘
Nodejs实战,高清的PDF,对Nodejs初学都具有很大的参考学习价值,主要是这个资源讲的很是通俗易懂,适合入门者学习的好书,严重的推荐
nodejs实战,电子版,可以复制粘贴。本书适合刚学习nodejs和nodejs初级开发人员
nodejs实战pdf+源码,适合新手学习,适合初级进阶。。。。。。。
Nodejs实战第二季,Nodejs实战,通过7个实例分别讲解了Node.js在实战开发中的应用,这些章节既涉及Docker、Koa 等最新技术,也涉及OAuth2、命令行工具、消息队列、单元测试、编写C/C++模块等实战中经常会遇到的问题...
Nodejs 实战
《nodejs in practice》是一本英文版的《nodejs实战》,详细描述了nodejs在实战中的应用
NodeJS实战搭建博客_源码 参考链接 https://blog.csdn.net/funkstill/article/details/87897970
Nodejs实战前四章,只有前面几张的。清晰版
NodeJS实战(高清视频教程).rar
nodeJS in action(nodeJS实战)中文PDF版 吴海星翻译,高清目录版,深入浅出的讲解了node核心技术,事件驱动原理,阅读本书建议是有一些node的基础,想更进一步了解node底层的核心技术以及web开发的运用能力。
nodejs开发实战详解部分,大概到第二章,高清,求完整版
nodejs图书管理系统、nodejs图书管理系统、全套代码,下载急用
介绍Nodejs基础知识,在Windows、Linux下如何安装,使用框架如何开发,及使用forever部署,最后介绍一下自动生成javascriptAPI文档
NodeJS实战(第二版)-完整带目录,这本书是网上推荐的比较好的入门书籍,实体书还是比较贵的。