Skip to content

XSS验证拦截器 🛡️

功能介绍 💡

WARNING

XSS验证拦截器就像一个内容安全过滤器,通过对请求参数进行HTML编码和过滤处理,防止跨站脚本攻击(XSS)。它能有效保护您的应用免受恶意脚本的侵害。

支持的请求格式 📝

  • application/json - JSON数据
  • application/x-www-form-urlencoded - 表单数据​
  • url地址 - URL参数传递
  • multipart/form-data - 不支持附件表单数据提交

详细配置说明 ⚙️

核心参数说明

参数名类型必填默认值说明
enabledbooleanfalse是否启用拦截器
rulesarray[object]-XSS过滤规则列表

过滤规则配置详解 (rules)

参数名类型必填默认值说明
urlsarray[string]-需要进行XSS过滤的URL列表
forbid-urlsarray[string]-不需要进行XSS过滤的URL列表
safe-typestring-安全级别类型,strict 纯文本, ugc 安全标签

配置示例 📋

基础配置

yaml
gateway:
  filter:
    xss:
      enabled: true
      rules:
        - urls:
            - /api/**
          safe-type: strict

富文本编辑器配置

yaml
gateway:
  filter:
    xss:
      enabled: true
      rules:
        - urls:
            - /**
          safe-type: ugc

完整配置示例

yaml
gateway:
  filter:
    xss:
      enabled: true
      rules:
        # 严格模式 - API接口
        - urls:
            - /api/user/**
            - /api/admin/**
          safe-type: strict
        # 用户生成内容 - 富文本编辑器
        - urls:
            - /api/content/**
            - /api/article/**
          safe-type: ugc
        # 排除静态资源
        - forbid-urls:
            - /static/**
            - /assets/**
            - /images/**

高级配置示例

yaml
gateway:
  filter:
    xss:
      enabled: true
      rules:
        # 后台管理系统 - 严格过滤
        - urls:
            - /admin/**
          safe-type: strict
        # 用户评论系统 - 允许安全标签
        - urls:
            - /api/comment/**
            - /api/review/**
          safe-type: ugc
        # 文章发布系统 - 允许富文本
        - urls:
            - /api/publish/**
            - /api/editor/**
          safe-type: ugc
        # 用户资料页面 - 严格过滤
        - urls:
            - /api/profile/**
          safe-type: strict
        # 排除不需要过滤的接口
        - forbid-urls:
            - /api/upload/**
            - /api/download/**
            - /health/**

不同业务场景配置

新闻门户网站

yaml
gateway:
  filter:
    xss:
      enabled: true
      rules:
        # 新闻内容发布 - 允许富文本
        - urls:
            - /api/news/**
            - /api/article/**
          safe-type: ugc
        # 用户评论 - 允许基本格式
        - urls:
            - /api/comment/**
          safe-type: ugc
        # 用户注册登录 - 严格过滤
        - urls:
            - /api/auth/**
            - /api/user/**
          safe-type: strict

电商平台

yaml
gateway:
  filter:
    xss:
      enabled: true
      rules:
        # 商品详情 - 允许富文本
        - urls:
            - /api/product/**
          safe-type: ugc
        # 用户评价 - 允许基本标签
        - urls:
            - /api/review/**
          safe-type: ugc
        # 订单系统 - 严格过滤
        - urls:
            - /api/order/**
            - /api/payment/**
          safe-type: strict
        # 用户信息 - 严格过滤
        - urls:
            - /api/user/**
          safe-type: strict

企业管理系统

yaml
gateway:
  filter:
    xss:
      enabled: true
      rules:
        # 所有API接口 - 严格过滤
        - urls:
            - /api/**
          safe-type: strict
        # 排除文件操作
        - forbid-urls:
            - /api/file/**
            - /api/export/**
            - /api/import/**

安全建议 💡

  1. 配置建议

    • 根据业务场景选择合适的安全级别
    • 明确定义允许的HTML标签和属性
    • 使用白名单而不是黑名单方式
  2. 最佳实践

    • 对用户输入始终保持警惕
    • 定期更新安全规则
  3. 性能优化

    • 合理配置过滤范围
    • 避免过度过滤
    • 缓存常用的过滤结果

常见问题 ❓

  1. 内容被过度过滤

    • 检查安全级别设置
    • 确认所需标签是否在白名单中
    • 验证属性配置是否正确
  2. 富文本内容显示异常

    • 使用 ugc 安全级别
    • 添加必要的HTML标签
    • 配置所需的属性
  3. URL链接被过滤

    • 检查协议白名单
    • 确认href属性配置
    • 验证URL格式

安全提示 ⚠️

CAUTION

  1. XSS防护是网站安全的重要环节
  2. 不要过分依赖客户端验证
  3. 定期检查和更新过滤规则
  4. 保持警惕,特别是处理用户输入时
  5. 监控异常内容和攻击行为

相关文档 📚