重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
csrf-protection by secondsky/claude-skills
npx skills add https://github.com/secondsky/claude-skills --skill csrf-protection使用多层防护机制抵御跨站请求伪造攻击。
| 方法 | 工作原理 | 浏览器支持 |
|---|---|---|
| 同步令牌 | 隐藏表单字段,服务器端验证 | 全部 |
| 双重提交 | Cookie + 请求头必须匹配 | 全部 |
| SameSite Cookie | 浏览器阻止跨源请求 | 现代浏览器 |
const crypto = require('crypto');
function generateToken() {
return crypto.randomBytes(32).toString('hex');
}
// 中间件
app.use((req, res, next) => {
if (!req.session.csrfToken) {
req.session.csrfToken = generateToken();
}
res.locals.csrfToken = req.session.csrfToken;
next();
});
// 验证
app.post('*', (req, res, next) => {
const token = req.body._csrf || req.headers['x-csrf-token'];
if (!token || !crypto.timingSafeEqual(
Buffer.from(token),
Buffer.from(req.session.csrfToken)
)) {
return res.status(403).json({ error: 'Invalid CSRF token' });
}
next();
});
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
app.use(session({
cookie: {
httpOnly: true,
secure: true,
sameSite: 'strict', // 或 'lax'
maxAge: 3600000
}
}));
<form method="POST" action="/transfer">
<input type="hidden" name="_csrf" value="<%= csrfToken %>">
<button type="submit">提交</button>
</form>
查看 references/python-react.md 了解:
每周安装量
68
代码仓库
GitHub 星标数
90
首次出现
2026年1月25日
安全审计
已安装于
claude-code59
gemini-cli55
codex54
opencode53
cursor52
github-copilot51
Defend against Cross-Site Request Forgery attacks using multiple protection layers.
| Method | How It Works | Browser Support |
|---|---|---|
| Synchronizer Token | Hidden form field validated server-side | All |
| Double Submit | Cookie + header must match | All |
| SameSite Cookie | Browser blocks cross-origin requests | Modern |
const crypto = require('crypto');
function generateToken() {
return crypto.randomBytes(32).toString('hex');
}
// Middleware
app.use((req, res, next) => {
if (!req.session.csrfToken) {
req.session.csrfToken = generateToken();
}
res.locals.csrfToken = req.session.csrfToken;
next();
});
// Validation
app.post('*', (req, res, next) => {
const token = req.body._csrf || req.headers['x-csrf-token'];
if (!token || !crypto.timingSafeEqual(
Buffer.from(token),
Buffer.from(req.session.csrfToken)
)) {
return res.status(403).json({ error: 'Invalid CSRF token' });
}
next();
});
app.use(session({
cookie: {
httpOnly: true,
secure: true,
sameSite: 'strict', // or 'lax'
maxAge: 3600000
}
}));
<form method="POST" action="/transfer">
<input type="hidden" name="_csrf" value="<%= csrfToken %>">
<button type="submit">Submit</button>
</form>
See references/python-react.md for:
Weekly Installs
68
Repository
GitHub Stars
90
First Seen
Jan 25, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
claude-code59
gemini-cli55
codex54
opencode53
cursor52
github-copilot51
xdrop 文件传输脚本:Bun 环境下安全上传下载工具,支持加密分享
44,100 周安装
社交增长工程师:应用病毒式增长策略,TikTok/Instagram/YouTube Shorts实现百万收入
96 周安装
Next.js 国际化与本地化工程师指南:i18n/l10n 多语言应用开发
96 周安装
CSS样式专家:现代CSS架构、响应式设计、性能优化与可访问性最佳实践
96 周安装
GitHub PR自动化分类工具:流式架构实现实时分析与智能处理
96 周安装
员工手册AI助手:快速解答公司政策、福利、流程问题,提升HR效率
96 周安装
arch-tsdown-cli:TypeScript CLI项目启动模板,支持ESM、d.ts自动生成与npm可信发布
98 周安装