关于 xss-prevention
用于防范 Web 应用跨站脚本攻击的安全技能,涵盖输入净化、输出编码、CSP 标头和安全编码实践,并提供 Node.js、Python 与 React 指南。
主要功能
- 01输入净化与输出编码
- 02CSP 标头实践指南
- 03URL 验证与安全 Cookie
- 04Node.js、Python 和 React 指南
适用场景
- 01展示用户生成内容
- 02保护富文本与评论功能
- 03处理搜索和动态 HTML
- 04检查模板渲染
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill xss-prevention安装后在 Claude Code 中输入/xss-prevention确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/content-security-policy.mdnodejs-xss-prevention.mdpython-xss-prevention.mdreact-xss-prevention.mdtemplates/component-template.tsx详细介绍
XSS 防护
目录
概述
通过输入净化、输出编码、CSP 标头和安全编码实践,全面防范跨站脚本攻击(XSS)。
适用场景
- 显示用户生成的内容
- 富文本编辑器
- 评论系统
- 搜索功能
- 动态生成 HTML
- 模板渲染
快速开始
最简可运行示例:
// xss-prevention.js
const createDOMPurify = require("dompurify");
const { JSDOM } = require("jsdom");
const he = require("he");
const window = new JSDOM("").window;
const DOMPurify = createDOMPurify(window);
class XSSPrevention {
/**
* HTML Entity Encoding - Safest for text content
*/
static encodeHTML(str) {
return he.encode(str, {
useNamedReferences: true,
encodeEverything: false,
});
}
/**
* Sanitize HTML - For rich content
*/
static sanitizeHTML(dirty) {
const config = {
ALLOWED_TAGS: [
// ... (see reference guides for full implementation)
参考指南
references/ 目录中的详细实现:
| 指南 | 内容 |
|---|---|
| Node.js XSS 防护 | Node.js XSS 防护 |
| Python XSS 防护 | Python XSS 防护 |
| React XSS 防护 | React XSS 防护 |
| 内容安全策略 | 内容安全策略 |
最佳实践
✅ 应该做
- 默认对输出进行编码
- 使用模板引擎
- 实施 CSP 标头
- 净化富文本内容
- 验证 URL
- 使用 HTTPOnly Cookie
- 定期进行安全测试
- 使用安全框架
❌ 不应该做
- 信任用户输入
- 直接使用 innerHTML
- 跳过输出编码
- 允许内联脚本
- 使用 eval()
- 混用上下文(HTML/JS)
评论
支持 Markdown