Node.js 安全最佳实践:保护你的应用
掌握输入验证、防注入、HTTPS 等核心安全措施。 · 难度:入门 · +15XP
常见安全威胁
Node.js 应用面临多种安全风险,包括 SQL 注入、XSS 攻击、CSRF、不安全的依赖等。以下是最佳实践。
输入验证与净化
const express = require('express');
const app = express();
// 使用 helmet 设置安全头
const helmet = require('helmet');
app.use(helmet());
// 验证用户输入
app.post('/user', (req, res) => {
const { name, email } = req.body;
if (typeof name !== 'string' || name.length > 50) {
return res.status(400).send('Invalid name');
}
// 使用参数化查询防止 SQL 注入
});
关键安全措施
| 措施 | 说明 |
|---|---|
| 使用 Helmet | 设置安全 HTTP 头 |
| 参数化查询 | 防止 SQL 注入 |
| 速率限制 | 防止暴力攻击 |
| 依赖审计 | npm audit 检查漏洞 |
练习提示
在下方 Express 应用中添加速率限制中间件。