全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📝 1 篇文章 27 道配套习题

NodeJS安全与稳定性专题

专题说明

本专题聚焦Node.js生产级应用的安全防护与稳定性保障实践,涵盖进程管理、内存优化、依赖安全审计、Web安全防护、HTTPS/TLS配置及API速率限制六大核心领域,帮助开发者构建安全可靠的Node.js服务。

学习目标

  1. 掌握PM2进程管理工具的核心功能与集群部署策略
  2. 理解Node.js内存管理机制,学会检测与修复内存泄漏
  3. 使用npm audit进行依赖安全审计,防范供应链攻击
  4. 实施XSS、CSRF等Web安全防护措施
  5. 配置HTTPS服务器与TLS安全参数
  6. 实现API速率限制与暴力破解防护

学习内容

本专题涵盖以下知识点:

  • 进程管理与稳定性:PM2守护进程、cluster负载均衡、graceful shutdown、日志管理
  • 内存泄漏检测与优化:内存泄漏原因分析、Chrome DevTools诊断、heapdump使用、clinic.js工具
  • 依赖安全管理:npm audit扫描、漏洞修复策略、CI安全检查集成
  • Web安全防护:XSS攻击类型与防护、CSRF防护机制、Cookie安全配置
  • HTTPS与TLS配置:SSL证书配置、TLS版本选择、加密套件配置、HSTS设置
  • 速率限制与防暴力破解:express-rate-limit使用、分布式限制方案、登录防护策略

学习建议

  1. 先掌握PM2基础用法,理解进程守护原理
  2. 结合实际项目排查内存泄漏问题
  3. 在CI流程中集成npm audit安全检查
  4. 重点理解XSS/CSRF攻击原理,而非死记防护代码
  5. 生产环境必须启用HTTPS和速率限制
  6. 建议按知识点模块逐一学习,每个模块完成后做相关题目巩固

📝 发现内容有误?点击此处直接编辑

📝 配套习题(26 题)

1
单选题

PM2作为Node.js进程管理器,其核心功能不包括以下哪项?

A

进程守护与自动重启

B

负载均衡(cluster模式)

C

代码热更新(reload)

D

自动修复内存泄漏

2
单选题

PM2的cluster模式使用什么机制实现负载均衡?

A

应用层轮询分发

B

Round-Round调度算法

C

操作系统层面的负载均衡

D

反向代理分发

3
多选题

PM2的ecosystem配置文件(ecosystem.config.js)支持哪些配置项?

A

apps数组定义多个应用

B

实例数量(instances)设置

C

环境变量(env)配置

D

watch模式启用

E

内存限制(max_memory_restart)

4
判断题
A

B

5
判断题

PM2提供日志管理功能,支持日志分割、日志合并和实时日志查看。

A

B

6
单选题

以下哪项不是Node.js应用中常见的内存泄漏原因?

A

未清理的全局变量或缓存

B

未关闭的事件监听器

C

未释放的闭包引用

D

正常的HTTP请求处理

7
单选题

使用Chrome DevTools分析Node.js内存泄漏时,以下哪个视图最适合对比两个时间点的内存状态?

A

Summary视图

B

Comparison视图

C

Containment视图

D

Statistics视图

8
多选题

Node.js应用内存泄漏检测可以使用以下哪些工具?

A

Chrome DevTools Memory面板

B

node-memwatch模块

C

heapdump模块

D

clinic.js工具套件

E

npm audit

9
填空题

Node.js默认 ______ 引擎内存限制约为 ______(64位系统)。可通过 ____________________ 参数调整内存上限,如 ________________________ 设置为4GB。生产环境建议根据实际内存使用情况合理设置,避免 ________ 导致进程崩溃。

10
判断题

npm audit命令用于扫描项目依赖的安全漏洞,并报告漏洞严重程度和修复建议。

A

B

11
判断题

npm audit fix --force命令会强制升级依赖版本以修复漏洞,可能导致应用出现兼容性问题。

A

B

12
判断题

npm audit默认只扫描package.json中声明的直接依赖,不扫描间接依赖(依赖的依赖)。

A

B

13
单选题

npm audit报告中不包含以下哪项信息?

A

漏洞严重等级(severity)

B

漏洞修复建议(recommendation)

C

受影响依赖路径(path)

D

漏洞修复代码补丁

14
单选题

以下哪种XSS攻击类型通过URL参数注入恶意脚本,需要诱导用户点击链接才能触发?

A

存储型XSS(Stored XSS)

B

反射型XSS(Reflected XSS)

C

DOM型XSS(DOM-based XSS)

D

CSS型XSS

15
单选题

CSRF攻击的核心原理是什么?

A

注入恶意脚本执行

B

利用用户已登录的身份伪造请求

C

破解用户密码获取账户

D

拦截网络流量窃取数据

16
多选题

防范XSS攻击的有效措施包括哪些?

A

对用户输入进行HTML编码

B

使用Content Security Policy(CSP)

C

设置Cookie的httpOnly属性

D

禁用JavaScript执行

E

使用XSS过滤库(如xss-filter)

17
判断题

XSS攻击窃取用户Cookie等敏感信息,而CSRF攻击利用用户身份执行恶意操作。

A

B

18
单选题

Node.js创建HTTPS服务器需要提供哪些必要配置?

A

只需要SSL证书文件

B

SSL证书文件和私钥文件

C

SSL证书文件和CA证书

D

只需要域名

19
单选题

生产环境Node.js HTTPS服务器应使用哪个TLS版本以确保安全性?

A

TLS 1.0

B

TLS 1.1

C

TLS 1.2

D

SSL 3.0

20
多选题

Node.js HTTPS服务器安全配置应包括以下哪些措施?

A

使用TLS 1.2或更高版本

B

启用HSTS(HTTP Strict Transport Security)

C

配置安全的加密套件(cipher suites)

D

HTTP自动重定向HTTPS

E

使用自签名证书

21
填空题

使用 _____________ 获取免费SSL证书,常用工具 _______ 。证书有效期 ______ 天,需要定期 ______ 。证书类型包括 ______ (域名验证)、OV(组织验证)、EV(扩展验证)。Let's Encrypt提供 ______ 类型证书,适合大多数网站使用。

22
单选题

Express应用实现API速率限制,最常用的中间件是?

A

express-session

B

express-rate-limit

C

express-security

D

express-throttle

23
单选题

分布式微服务架构中,本地内存速率限制存在什么问题?

A

性能开销过大

B

各节点限制不统一,总限制超出预期

C

配置复杂难以维护

D

无法统计请求总数

24
多选题

防范登录接口暴力破解攻击的有效措施包括哪些?

A

严格速率限制(如5次/小时)

B

账户锁定机制

C

CAPTCHA验证码

D

记录登录失败日志

E

使用弱密码策略

25
判断题

速率限制触发后,标准HTTP响应状态码是429 Too Many Requests。

A

B

26
判断题

速率限制默认使用客户端IP作为限制key,但同一IP下多个用户可能共享限制额度。

A

B

← 上一个专题 NodeJS全局对象专题
下一个专题 → NodeJS异步编程基础专题

📝 发现内容有误?点击此处直接编辑

想查看更多习题和详细解析?
小程序提供完整的题库和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库