api-security-hardening by secondsky/claude-skills
npx skills add https://github.com/secondsky/claude-skills --skill api-security-hardening通过多层安全防护,保护 REST API 免受常见漏洞攻击。
const helmet = require('helmet');
const rateLimit = require('express-rate-limit');
const mongoSanitize = require('express-mongo-sanitize');
const xss = require('xss-clean');
app.use(helmet());
app.use(mongoSanitize());
app.use(xss());
app.use('/api/', rateLimit({
windowMs: 15 * 60 * 1000,
max: 100
}));
app.use('/api/auth/', rateLimit({
windowMs: 15 * 60 * 1000,
max: 5
}));
const { body, validationResult } = require('express-validator');
app.post('/users',
body('email').isEmail().normalizeEmail(),
body('password').isLength({ min: 8 }).matches(/[A-Z]/).matches(/[0-9]/),
body('name').trim().escape().isLength({ max: 100 }),
(req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
// 处理请求
}
);
app.use((req, res, next) => {
res.setHeader('Content-Security-Policy', "default-src 'self'");
res.setHeader('X-Frame-Options', 'DENY');
res.setHeader('X-Content-Type-Options', 'nosniff');
res.setHeader('Strict-Transport-Security', 'max-age=31536000; includeSubDomains');
res.setHeader('X-XSS-Protection', '1; mode=block');
next();
});
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
请参阅 references/python-nginx.md 了解:
周安装量
77
代码仓库
GitHub 星标数
93
首次出现
2026年1月22日
安全审计
安装于
claude-code66
gemini-cli63
codex62
opencode61
cursor60
github-copilot58
Protect REST APIs against common vulnerabilities with multiple security layers.
const helmet = require('helmet');
const rateLimit = require('express-rate-limit');
const mongoSanitize = require('express-mongo-sanitize');
const xss = require('xss-clean');
app.use(helmet());
app.use(mongoSanitize());
app.use(xss());
app.use('/api/', rateLimit({
windowMs: 15 * 60 * 1000,
max: 100
}));
app.use('/api/auth/', rateLimit({
windowMs: 15 * 60 * 1000,
max: 5
}));
const { body, validationResult } = require('express-validator');
app.post('/users',
body('email').isEmail().normalizeEmail(),
body('password').isLength({ min: 8 }).matches(/[A-Z]/).matches(/[0-9]/),
body('name').trim().escape().isLength({ max: 100 }),
(req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
// Process request
}
);
app.use((req, res, next) => {
res.setHeader('Content-Security-Policy', "default-src 'self'");
res.setHeader('X-Frame-Options', 'DENY');
res.setHeader('X-Content-Type-Options', 'nosniff');
res.setHeader('Strict-Transport-Security', 'max-age=31536000; includeSubDomains');
res.setHeader('X-XSS-Protection', '1; mode=block');
next();
});
See references/python-nginx.md for:
Weekly Installs
77
Repository
GitHub Stars
93
First Seen
Jan 22, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
claude-code66
gemini-cli63
codex62
opencode61
cursor60
github-copilot58
xdrop 文件传输脚本:Bun 环境下安全上传下载工具,支持加密分享
42,100 周安装
Instagram自动化工具:通过Rube MCP与Composio实现自动发帖与数据分析
104 周安装
Cloudflare Wrangler CLI 指南:部署、开发和管理 Workers 全攻略
104 周安装
shadcn组件发现工具:在1500+组件库中搜索,避免重复造轮子
76 周安装
后端开发专家:Python/Node.js/Go API设计、微服务、数据库集成与安全架构
105 周安装
产品营销经理PMG指南:A轮初创公司营销策略、定位与市场进入实战手册
105 周安装
MyVibe Publish:一键发布网页内容到MyVibe平台,支持HTML/ZIP/目录/URL
105 周安装